XML解析器的使用方法及相关函数有哪些

  介绍

这篇文章给大家分享的是有关XML解析器的使用方法及相关函数有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

undefinedundefined

一、XML元素结构例程

第一个例程缩进显示文档中的开始元素结构。

<强>示例# 1显示XML元素结构

& lt; ? php file 美元;=,“data.xml" depth 美元;=,数组();   function  startElement(解析器,美元,美元的名字,,$ attrs) {   global 美元深度;   for ($小姐:=,0;,美元小姐:& lt;,深度解析器(美元);美元,美元我+ +),   {   echo “,,,,,   }   echo “名字\ n"美元;;   深度美元(美元)解析器)+ +;   }   function  endElement(解析器,美元,美元的名字){   global 美元深度;   深度解析器(美元)——美元;   }   $ xml_parser =,作用是();   xml_set_element_handler (xml_parser美元,,“startElement",,“endElement");   if  (! $ fp =, fopen($文件,“r"))),   {死亡(“could  not  open  XML  input");   }   while  (data 美元;=,从文件中读(fp美元,4096)),   {   if  (! xml_parse (xml_parser美元,数据,美元,feof (fp)美元)),{   死(sprintf (“XML 错误:% s  at  line  % d", xml_error_string (xml_get_error_code (xml_parser美元)),   xml_get_current_line_number (xml_parser美元)));   }   }xml_parser_free ($ xml_parser);   ?在

二、XML标签映射例程

<强>示例# 1将XML映射为HTML

此例程直接地将XML标签映射为HTML标签。在“map_array”中未找到的元素将被忽略。当然,此例程只针对特定的XML文档类型起作用。

& lt; ? php file 美元;=,“data.xml";   $ map_array =,阵列(“BOLD",,,,,=祝辞,“B",“EMPHASIS",=祝辞,“我,“LITERAL",,=祝辞,“TT");   function  startElement(解析器,美元,美元的名字,,$ attrs) {   global  map_array美元;   if (收取($ map_array[名字]美元)),{   echo “& lt; map_array美元(美元的名字)在“;   }   }   function  endElement(解析器,美元,美元的名字){global  map_array美元;   if (收取($ map_array[名字]美元)),{   echo “& lt;/$ map_array[名字]美元在“;}   }   function  characterData(解析器,美元,美元数据){   echo  $数据;   }   $ xml_parser =,作用是();//,use  case-folding  so 断开连接,我方表示歉意sure 用find 从而tag 拷贝;   (map_arrayxml_parser_set_option美元xml_parser, XML_OPTION_CASE_FOLDING,,真的);   xml_set_element_handler (xml_parser美元,,“startElement",,“endElement");   xml_set_character_data_handler (xml_parser美元,,“characterData");   if  (! $ fp =, fopen($文件,“r"))),   {死亡(“could  not  open  XML  input");   }   while  (data 美元;=,从文件中读(fp美元,4096)),{   if  (! xml_parse (xml_parser美元,数据,美元,feof (fp)美元)),{   死(sprintf (“XML 错误:% s  at  line  % d",   xml_error_string (xml_get_error_code (xml_parser美元)),   xml_get_current_line_number (xml_parser美元)));}   }   xml_parser_free ($ xml_parser);   ?在

三、XML外部实体例程

此例程用于加亮XML代码。举例说明如何使用外部实体引用来包含和解析其他文档,及处理指令是如何被处理的,及判断处理指令所包含代码是否”可信任”的一种方法

用于此例程的XML文档位于此例程的下方(和).

<强>示例# 1外部实体例程

& lt; ? php file 美元;=,“xmltest.xml";   function  trustedFile(文件){//,仅信任本地文件   if  (! preg_match (“@ ^ ([a - z] +): \ \/\/@i",,美元文件),,,fileowner(文件),==,getmyuid ()), {return 真实;}return 假;}   function  startElement()美元解析器,,名字,美元,美元鲜明){   echo “, lt; & lt; font 颜色=\“# 0000 cc \“祝辞name<美元/font>“;   if  (count($鲜明)),{   foreach  (attribs 美元;as  k 美元;=祝辞,美元v), {   “echo  & lt; font 颜色=\“# 009900 \“祝辞k<美元/font>=\“& lt; fontcolor=\“# 990000 \“祝辞v<美元/font> \““}}   echo “和gt;“;   }   function  endElement(解析器,美元,美元的名字){   echo “, lt;/& lt; font 颜色=\“# 0000 cc \“祝辞name

XML解析器的使用方法及相关函数有哪些