SimpleXML扩展在解析和操作XML文档时非常实用,本文将讨论如何使用PHP SimpleXML解析xml文件。
首先,让我们看一下使用SimpleXML扩展将XML内容转换为数组所需遵循的步骤。
- 将xml文件转换为字符串: 使用PHP file_get_contents()函数将整个xml文件作为字符串读取并存储到变量中。
- 将字符串转换为对象: 将字符串转换为对象,可以通过PHP的一些内置函数simplexml_load_string()轻松完成。
- 将对象转换为JSON: json_encode()函数将对象,数组的数据格式转换为json格式的数据
- 解码JSON对象: json_decode()函数解码JSON字符串。它将JSON编码的字符串转换为PHP变量。
PHP解析xml文件需要使用到的函数
file_get_contents():
file_get_contents() 函数把整个xml文件读入一个字符串中
simplexml_load_string():
simplexml_load_string() 函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象。
simplexml_load_file():
simplexml_load_file() 函数把 XML 文档载入对象中。如果失败,则返回 false。
json_encode函数主要用来将数组和对象,转换为json格式。
json_decode函数用于将json文本转换为相应的PHP数据结构.
PHP将xml文件解析为数组 - 示例
xml文件abc.xml如下:
<?xml version='1.0'?>
<userdb>
<firstname name='Alex'>
<symbol>AL</symbol>
<code>A</code>
</firstname>
<firstname name='Sandra'>
<symbol>SA</symbol>
<code>S</code>
</firstname>
</userdb>
<?PHP
// xml file path
$path = "abc.xml";
$xmlfile = file_get_contents($path);
$new = simplexml_load_string($xmlfile);
$jsonfile = json_encode($new);
$myarray = json_decode($jsonfile, true);
print_r($myarray);
?>
运行结果:
Array ( [firstname] => Array ( [0] => Array ( [@attributes] => Array ( [name] => Alex ) [symbol] => AL [code] => A ) [1] => Array ( [@attributes] => Array ( [name] => Sandra ) [symbol] => SA [code] => S ) ) )
以上就是本文的全部内容,希望对大家的学习有所帮助。更多教程请访问码农之家
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。