php解析xml方法的详细解决方案

本文对php解析xml方法进行了详细的形式说明,供大家参考,具体分析如下:

的books.xml文件如下:





哈利·波特
J·K·罗琳
二千零五
二十九点99


每天的意大利
吉娅达·德·劳伦蒂斯
二千零五
三十


学习XML
埃里克T射线
二千零三
三十九点95




1、DOM解析XML


< PHP
/ /创建一个DOMDocument对象
doc =新DOMDocument(美元);
加载xml文件
加载();
获取所有的图书标签
bookdom美元= $doc -> getElementsByTagName(书);
foreach($ bookdom达书){
标题=美元美元书-> getElementsByTagName(标题)->(0)->节点项目;
本书作者=美元美元-> getElementsByTagName(作者)->(0)->节点项目;
今年美元美元=书-> getElementsByTagName(年)->(0)->节点项目;
美元价格= $书-> getElementsByTagName(价格)->(0)->节点项目;
标题:$。;
回声作者。;
回声年:。;
价格:$。;
回声*********************************** ;
}
>


2、xml_parse_into_struct

创建一个解析器,将XML数据解析成一个数组,释放解析器,然后从数组中提取所需的值。


< PHP
读取xml文件
文件;
$data = file_get_contents ($file);
创建一个解析器
美元xml_parser_create解析器=();
将xml数据解析到数组中。
xml_parse_into_struct(美元美元美元的数据,解析,丘壑,美元指数);
发布/解析器
xml_parser_free($分析器);
数组处理
ARR =阵列(美元);
$ = 0;
foreach(VAL美元美元值){
美元价值类型= {};
美元的价值'tag标签= { };
水平=美元价值'level'} {;
$属性= isset($价值{ 'attributes ' }){ }:价值'attributes;
val = isset(美元价值,美元币值的{ }){ }:价值价值;
开关($ type){
case'open:
如果($属性)!=瓦尔美元| |!= {)
{ } { $ T $ ARR 'tag} = $标记;
{ } { $ T $ ARR 'attributes} = $属性;
{ } { $ T $ ARR 'level} = $水平;
$ + +;
}
打破;
案例完全:
如果($属性)!=瓦尔美元| |!= {)
{ } { $ T $ ARR 'tag} = $标记;
{ } { $ T $ ARR 'attributes} = $属性;
{ } { $ T $ ARR 'val} = $ Val;
{ } { $ T $ ARR 'level} = $水平;
$ + +;
}
打破;
}
}

print_r($ ARR);

>



3,使用SAX解析器读取XML简单的API(SAX)解析器


< PHP
文件;
XML simplexml_load_file美元=(文件);

print_r($ XML);

>


希望本文能对大家的PHP程序设计有所帮助。