SimpleXML解析器是PHP 中一个简单易用的 XML 解析扩展,它将 XML 文档转换为对象,使开发人员能够通过对象属性或数组索引来访问 XML 数据。
SimpleXML解析器可以把XML文档转化成一棵对象树,我们可以通过对象属性来访问元素,通过数组的方式来访问多个同名元素,使得XML文档操作更加直观具体!
想要知道PHP是否存在SimpleXML,我们可以通过extension_loaded('SimpleXML')函数来进行检测,true为存在;反之。
<?php
if(extension_loaded("simplexml"))echo 'simplexml已安装!';
?>将php脚本粘贴至test.php,保存并访问;

if判断为true,证明我们的simplexml已安装。
我们可以从字符串、文件等加载XML数据。
1. 从字符串加载XML数据——simplexml_load_string()函数返回一个SimpleXMLElement 对象(可以理解为PHP中的特殊对象)
<?php //1. 准备一个xml字符串 $mxlStr=<<<Dotcpp <?xml version='1.0' encoding='UTF-8'?> <dotcpp> <brand>Dotcpp编程</brand> <website>dotcpp.com</website> <course>PHP教程</course> </dotcpp> Dotcpp; //2. 通过simplexml_load_string()将xml字符串转为 $xml=simplexml_load_string($mxlStr); //3. 把$xml当对象使用 echo $xml->brand.'<br>'; echo $xml->website.'<br>'; echo $xml->course.'<br>'; ?>
将php脚本粘贴至test.php,保存并访问;

可以看到,我们通过“->”访问对象属性的方式获取xmlStr字符串中的数据。
2. 从文件加载:
2.1 同级目录下先准备一个Dotcpp.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <dotcpp> <brand>Dotcpp编程</brand> <website>dotcpp.com</website> <course>PHP教程</course> <courses> <course id="1">PHP基础</course> <course id="2">PHP高级</course> <course id="3">PHP框架</course> </courses> </dotcpp>
2.2 加载并访问xml数据——simplexml_load_file()函数
<?php
//1. 加载xml文件
$xml=simplexml_load_file(__DIR__ ."/dotcpp.xml");
//2. 把$xml当对象使用
echo $xml->brand.'<br>';
echo $xml->website.'<br>';
echo $xml->course.'<br>';
foreach ($xml->courses->course as $item) {
echo $item.'<br>';
}
?>将php脚本粘贴至test.php,保存并访问;

可以看到,我们通过“->”访问我们的xml属性,并通过foreach()循环打印courses下的所有course。
总结:通过SimpleXML解析器我们可以从字符串或是文件获取xml数据。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程