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>

猜你喜欢

转载自www.cnblogs.com/aasu/p/9125062.html