您当前的位置: 首页 > 学无止境 > XML与XSLT 网站首页XML与XSLT
SimpleXML的使用
发布时间:2015-04-10 07:28:56编辑:雪饮阅读()
simpxml可以像xpath一样或者DOMDocument对象一样取出xml标签,只是相对后两者来说simpxml更加灵活,使用的更加广泛,其功能是非常强大的。
下面是一段xml源代码(sinpao.xml):
<?xml version="1.0" encoding="utf-8"?>
<books>
<book house="雪饮个人博客出版社" house2="好伤心">
<code>sb001</code>
<price>200</price>
<author>雪饮个人博客</author>
<title>电视剧《风云2》</title>
</book>
<book house="雪饮个人博客出版社2" house2="好郁闷">
<code>sb002</code>
<price>400</price>
<author>雪饮个人博客</author>
<title>电视剧《风云3》</title>
</book>
</books>
我们来用simpxml技术对其进行相关处理:
php源代码(simpxml.php):
<?php
//装载一个xml文件
$lib=simplexml_load_file("sinpao.xml");
var_dump($lib);
echo "<br/>下面将取出书<br/>";
//取出书,$books就是一个数组
$books=$lib->book;//
echo "由书组成的数组长度是:".count($books);
echo "<br/>既然是数组,那么我们就以数组的方式来取出书名<br/>";
//不过得先取出一本书才能够取得该书的书名
$book=$books[0];
echo "书名是:".$book->title;
echo "<br/>下面我们取出所有书的所有信息:<br/>";
for($i=0;$i<count($books);$i++){
$book=$books[$i];
//属性的取法
echo "出版社:".$book["house"]." 出版社2:".$book["house2"]."<br/>";
echo "书名:".$book->title." 编号".$book->code." 价格:".$book->price." 作者:".$book->author."<br/>";
}
echo "<br/>";
//SimpleXML也可以和xpath结合使用,功能强大
//通过xpath取出一个符合要求的标签列表
$titles=$lib->xpath("//title");//忽略层级关系,取出所有title标签列表
echo "取出所有title标签如下:";
foreach($titles as $val){
echo "<br/>".$val;
}
echo "<br/>";
//simpxml可以直接装载一个string字符串(xml规范)
$string= <<<XML
<?xml version='1.0'?>
<document>
<title>forty what?</title>
<from>joe</from>
<to>jane</to>
<body>雪饮个人博客</body>
</document>
XML;
//上面的<<<XML XML是用于可以简单的处理字符串中有""或'(单引号或者双引号)
$xml=simplexml_load_string($string);
foreach($xml->xpath("//title") as $title){
echo "<br/>".$title;
}
echo "<br/>";
print_r($xml);
echo "<br/>至此总结下:<br/>";
echo "xml装载文件可以有3种:1、直接装载文件。2、装载dom对象。3、装载字符串xml";
?>
关键字词:simplx,xml,个人博客
上一篇:xml中xpath的使用