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数据: xml文件代码如下:这个程序的结果如下: 引用: --------------------------------------------------------------------------------
名字:张三职位:经理
名字:李四职位:助理
<div class="codetitle"><a style="CURSOR: pointer" data="14776" class="copybut" id="copybut14776" onclick="doCopy('code14776')"> 代码如下:
<div class="codebody" id="code14776">
@H_
404_13@
张三
<positionage="45">经理
李四
<positionage="45">助理
<div class="codetitle">
<a style="CURSOR: pointer" data="6490" class="copybut" id="copybut6490" onclick="doCopy('code6490')"> 代码如下: <div class="codebody" id="code6490">
<?
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;
functionstartElement($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"职位:";
}
} functioncharacterData($parser_instance,$xml_data)//读取数据时的
函数 {
global$name,$position;
if($position)
echo$xml_data."
";
if($name)
echo$xml_data."
";
} functionendElement($parser_instance,$element_name)//结束
标签事件的
函数 {
global$name,$position;
$name=false;
$position=false;
} ?>