PHP如何读取xml文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP如何读取xml文件?相关的知识,希望对你有一定的参考价值。

准备xmlwen文件:a.xml

<?xml version="1.0" encoding="UTF-8"?>
<humans>

<zhangying>
<name>张映</name>
<sex>男1</sex>
<old1>280</old1>
</zhangying>

<tank>
<name>tank</name>
<sex></sex>
<old1>28</old1>
</tank>

</humans>

 

1.simplexml读取xml

 

<?php
header("content-type:text/html;charset=utf-8");
$xml_array=simplexml_load_file(‘a.xml‘); //将XML中的数据,读取到数组对象中
foreach($xml_array as $tmp){

echo $tmp->name."-".$tmp->sex."-".$tmp->old1."<br>";
}

?>
如果你使用 curl 获取的 xml data
$xml = simplexml_load_string($data);
$data[‘tk‘] = json_decode(json_encode($xml),TRUE);
如果是直接获取 URL 数据的话
$xml = simplexml_load_file($data);
$data[‘tk‘] = json_decode(json_encode($xml),TRUE);
先把 simplexml 对象转换成 json,再将 json 转换成数组。

xmlreader来读取xml数据

 

<?php
header("content-type:text/html;charset=utf-8");
$reader = new XMLReader();
$reader->open(‘a.xml‘); //读取xml数据
$i=1;

while ($reader->read()) { //是否读取
if ($reader->nodeType == XMLReader::TEXT) { //判断node类型
if($i%3){
echo $reader->value."__"; //取得node的值
}else{
echo $reader->value."<br>" ;
}
$i++;
}
}

?>

 

 

 

 

以上是关于PHP如何读取xml文件?的主要内容,如果未能解决你的问题,请参考以下文章

PHP-读取XML文件

PHP-读取XML文件

PHP-读取XML文件

使用 SimpleXML 读取 XML

无法使用 simplexml_load_string 读取 XML 文件

php如何解析多级xml报文?