php读取XML的常见方法实例总结
本文实例讲述了php读取XML的常见方法。分享给大家供大家参考,具体如下:
xml源文件
张映 男 28 tank 男 28
1)DOMDocument读取xml
load('person.xml');//读取xml文件 $humans=$doc->getElementsByTagName("humans");//取得humans标签的对象数组 foreach($humansas$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
name."-".$tmp->sex."-".$tmp->old."
"; } ?>
3)用php正则表达式来读取数据
(.*?)\<\/humans\>/s",$xml,$humans);//匹配最外层标签里面的内容 foreach($humans[1]as$k=>$human) { preg_match_all("/\(.*?)\<\/name\>/",$human,$name);//匹配出名字 preg_match_all("/\ (.*?)\<\/sex\>/",$human,$sex);//匹配出性别 preg_match_all("/\ (.*?)\<\/old\>/",$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++; } } ?>
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线