simpleXML技术解析xml文件(php)

Posted 宝娟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了simpleXML技术解析xml文件(php)相关的知识,希望对你有一定的参考价值。

1.simpleXML的核心思想:以面向对象的方法来操作xml文件

此技术可以将xml文件的所有元素都转成对象。会返回一个对象数组,再用foreach遍历,即可得到元素的名称,内容,和属性值。

test.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE 班级 SYSTEM "test.dtd">
<!--<!DOCTYPE 班级 [
<!Element 班级 (学生+)>
<!Element 学生 (name,age,sex)>
<!Element name (#PCDATA)>
<!Element age (#PCDATA)>
<!Element sex (#PCDATA)>
]>-->
<班级>
<学生 别名="笨蛋">
<name>
宝娟
</name>
<age>25</age>
<sex>男</sex>
</学生>
<学生>
<name>
鑫鑫
</name>
<age>25</age>
<sex>男</sex>
</学生>
<学生>
<name>娟</name>
<age>25</age>
<sex>男</sex>
</学生>
</班级>

simpleXML.php

<html>
<head>
<meta http-equiv="content-type"content="text/html charset=utf-8"/>
</head>
<?php
$lib=simplexml_load_file("test.xml");
//print_r($lib);
//取出学生,$stus就是一个数组
$stus=$lib->学生;

//$stu=$stus[0];
//echo count($stus);       //3
//取出名字
//echo $stu->name."<br/>";   //宝娟
//取出年龄
//echo $stu->age."<br/>";    //25
//取出性别
//echo $stu->sex;            //男

for($i=0;$i<count($stus);$i++){
        $stu=$stus[$i];
        //取出属性值
        echo $stu[‘别名‘];
     echo $stu->name."<br/>".$stu->age."<br/>".$stu->sex."<br/>";
/*宝娟
25

鑫鑫
25


25
男*/
}

//simpleXML和xpath结合使用,功能强大
echo "===============simpleXML和xpath结合使用====================="."<br/>";
$arr=$lib->xpath("//name");
foreach($arr as $val){
    echo $val."<br/>";
}

?>
</html>

 











































































以上是关于simpleXML技术解析xml文件(php)的主要内容,如果未能解决你的问题,请参考以下文章

xml用php解析是重命名php文件吗

PHP中用simpleXML解析XML文档,为啥总出错?

使用 php SimpleXML 解析 XML 命名空间

使用 php SimpleXML 解析 XML 命名空间

php如何解析多级xml报文?

PHP:simplexml_load_file 从使用 UTF-8 编码的 XML 文件中获取奇怪的字符