介绍
这篇文章给大家分享的是有关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 \“祝辞nameXML解析器的使用方法及相关函数有哪些