用php读写xml文件

php中对xml读取的相关函数的介绍:

--------------------------------------------------------------------------------

对象 XML解析函数 描述
元素 xml_set_element_handler() 元素的开始和结束
字符数据 xml_set_character_data_handler() 字符数据的开始
外部实体 xml_set_external_entity_ref_handler() 外部实体出现
未解析外部实体 xml_set_unparsed_entity_decl_handler() 未解析的外部实体出现
处理指令 xml_set_processing_instruction_handler() 处理指令的出现
记法声明 xml_set_notation_decl_handler() 记法声明的出现
默认 xml_set_default_handler() 其它没有指定处理函数的事件

--------------------------------------------------------------------------------

下面就给大家举一个小小的例子用parser函数来读取xml数据:

<?php
$parser = xml_parser_create(); //创建一个parser编辑器
xml_set_element_handler($parser, "startElement", "endElement");//设立标签触发时的相应函数 这里分别为startElement和endElenment
xml_set_character_data_handler($parser, "characterData");//设立数据读取时的相应函数
$xml_file="1.xml";//指定所要读取的xml文件,可以是url
$filehandler = fopen($xml_file, "r");//打开文件

while ($data = fread($filehandler, 4096))
{
xml_parse($parser, $data, feof($filehandler));
}//每次取出4096个字节进行处理

fclose($filehandler);
xml_parser_free($parser);//关闭和释放parser解析器

$name=false;
$position=false;
function startElement($parser_instance, $element_name, $attrs) //起始标签事件的函数
{
global $name,$position;
if($element_name=="NAME")
{
$name=true;
$position=false;
echo "名字:";
}
if($element_name=="POSITION")
{$name=false;
$position=true;
echo "职位:";
}
}

function characterData($parser_instance, $xml_data) //读取数据时的函数
{
global $name,$position;
if($position)
echo $xml_data."<br>";
if($name)
echo $xml_data."<br>";
}

function endElement($parser_instance, $element_name) //结束标签事件的函数
{
global $name,$position;
$name=false;
$position=false;
}

?>

xml文件代码如下:

<?xml version="1.0"?>
<employees>
<employee>
<name>张三</name>
<position age="45">经理</position>
</employee>
<employees>
<employee>
<name>李四</name>
<position age="45">助理</position>
</employee>
</employees>

这个程序的结果如下:

--------------------------------------------------------------------------------

名字:张三 职位:经理
名字:李四 职位:助理

时间: 2024-10-26 11:30:33

用php读写xml文件的相关文章

读写xml文件的2个小函数

xml|函数 #region 读写xml文件的2个小函数,2005 4 2 by hyc  public void SetXmlFileValue(string xmlPath,string AppKey,string AppValue)//写xmlPath是文件路径+文件名,AppKey是 Key Name,AppValue是Value  {   XmlDocument xDoc = new XmlDocument();   xDoc.Load(xmlPath);   XmlNode xNod

用C#读写XML文件

问题描述 1.用C#读写XML文件2.将XML文件显示在文字框或者表格中求代码,讲解··· 解决方案 解决方案二: 解决方案三: 谢谢····段子鹏解决方案四: 不是用linq,是C#···解决方案五: 读///<summary>///根据节点名称读取PersonalAccountSettings.xml中节点的InnerText值///</summary>///<paramname="nodeName">节点名称</param>///&

Vc 读写xml文件二个实例

vc 读写xml文件二个实例 <?xml version="1.0" encoding="gb2312"?>   <root> <device id="10041" name="设备1">   <type>13 </type>   <typename>保护 </typename>   </device>  </root>

读写xml文件的2个小函数_XML示例

要利用DOM 来存取XML 文件,你必须将XML 文件连结到HTML 网页上. #region 读写xml文件的2个小函数,2005 4 2 by hyc  public void SetXmlFileValue(string xmlPath,string AppKey,string AppValue)//写xmlPath是文件路径+文件名,AppKey是 Key Name,AppValue是Value { XmlDocument xDoc = new XmlDocument(); xDoc.L

java学习:使用dom4j读写xml文件

dom4j是一个优秀的开源项目,专用于xml文件的读写,而且支持强大的xpath. 下面的代码演示了对xml文件demo.xml的读写 demo.xml内容: 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <address-list> 3 <card name="yangjm" id="1"> 4 <sex>男</sex> 5

C#写一个读写XML文件的程序

问题描述 写一程序可以修改写入读取XML文件的程序 解决方案 解决方案二:学习一下:解决方案三: 解决方案四:XDocument,XmlDocument,XmlSerializer都可以,看需求了.解决方案五://利用递归获取xml的所有节点(元素也是节点)publicvoidRecurseXml(XmlNoderoot,intindex){if(root==null){return;}if(rootisXmlElement){tbxContent.Text+=root.Name.PadLeft

C#读写xml文件

xml 已知有一个XML文件(bookstore.xml)如下:<?xml version="1.0" encoding="gb2312"?><bookstore>  <book genre="fantasy" ISBN="2-3631-4">    <title>Oberon's Legacy</title>    <author>Corets, Eva

PHP读写XML文件技巧

 常用 如下 几行: header("content-type:text/html; charset=utf-8"); //指定PHP使用UTF-8编码 $xml = simplexml_load_file("example.xml"); //读取xml文件 $newxml = $xml->asXML(); //标准化$xml $fp = fopen("newxml.xml", "w"); //新建xml文件 fwrit

Android开发8——利用pull解析器读写XML文件

  一.基本介绍 对XML解析有SAX和DOM等多种方式,Android中极力推荐xmlpull方式解析xml.xmlpull不仅可用在Android上同样也适用于javase,但在javase环境中需自己获取xmlpull所依赖的类库,kxml2-2.3.0.jar,xmlpull_1_1_3_4c.jar.   jar包下载网址http://www.xmlpull.org/http://kxml.sourceforge.net/   二.例子 读取到xml的声明返回数字0 START_DOC

Linux Shell脚本读写XML文件

在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?><config>   <server-ip>192.168.1.45</server-ip>   <server-port>1209</server-port>   <repository-temp-path>/home/john&l