这篇文章主要介绍了php读取xml的常见方法,结合实例形式总结了php基于domdocument、simplexml、正则及xmlreader读取xml文件的相关操作技巧,需要的朋友可以参考下
本文实例讲述了php读取XML的常见方法。分享给大家供大家参考,具体如下:
xml源文件
张映 男 28 tank 男 28
1)DOMDocument读取xml
load('person.xml'); //读取xml文件 $humans = $doc->getElementsByTagName( "humans" ); //取得humans标签的对象数组 foreach( $humans as $human ) { $names = $human->getElementsByTagName( "name" ); //取得name的标签的对象数组 $name = $names->item(0)->nodeValue; //取得node中的值,如 $sexs = $human->getElementsByTagName( "sex" ); $sex = $sexs->item(0)->nodeValue; $olds = $human->getElementsByTagName( "old" ); $old = $olds->item(0)->nodeValue; echo "$name - $sex - $old\n"; }?>
2)simplexml读取xml
立即学习“PHP免费学习笔记(深入)”;
name."-".$tmp->sex."-".$tmp->old."
"; }?>
3)用php正则表达式来读取数据
<?php $xml = ""; $f = fopen('person.xml', 'r'); while( $data = fread( $f, 4096 ) ) { $xml .= $data; } fclose( $f ); // 上面读取数据 preg_match_all( "/\(.*?)\/s", $xml, $humans ); //匹配最外层标签里面的内容 foreach( $humans[1] as $k=>$human ) { preg_match_all( "/\(.*?)\/", $human, $name ); //匹配出名字 preg_match_all( "/\(.*?)\/", $human, $sex ); //匹配出性别 preg_match_all( "/\(.*?)\/", $human, $old ); //匹配出年龄 } foreach($name[1] as $key=>$val){ echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."
" ; }?>
4)xmlreader来读取xml数据
open('person.xml'); //读取xml数据 $i=1; while ($reader->read()) { //是否读取 if ($reader->nodeType == XMLReader::TEXT) { //判断node类型 if($i%3) { echo $reader->value; //取得node的值 } else { echo $reader->value."
" ; } $i++; } }?>
以上就是php读取XML的四种方法实例详解的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1429038.html
微信扫一扫
支付宝扫一扫