首页 » Web前端 » phpml技巧_PHP 运用simpleXML技能

phpml技巧_PHP 运用simpleXML技能

访客 2024-10-24 0

扫一扫用手机浏览

文章目录 [+]

PHP5的simpleXML可以将XML文件的元素都转为工具,相同子元素转换成工具数组,让我们在PHP程序直策应用foreach指令和取得指定元素的名称、内容和属性值;

通过simpleXML_load_file()函数来载入XML文件档案

phpml技巧_PHP 运用simpleXML技能

$library = simplexml_load_file("book.xml");

上述程序载入XML文件档案book.xml,函数传回simpleXML类型的工具,载入失落败传回false;

phpml技巧_PHP 运用simpleXML技能
(图片来自网络侵删)

在成功载入XML文档后,$library工具是XML文件的根元素,存取其子元素便是存取$library工具的成员变量,如下所示:

$books = $library->book

上述程序存取子元素book,由于book子元素不但一个,所有取回的是工具数组,我们可以利用数组的下标值取得指定的book元素,如下所示

$book = $books[1];

上述程序取得第2个book元素,由于索引从0开始

如果book元素还有子元素,以是利用相同办法取得下一层子元素,如下所示:

书名:$book->title

书的价格:$book->price

在取得指定元素后,元素属性是一个数组,属性名称为键值,如下所示:

$book->title['lang'];

把稳:"->" 优先级要高些

books.xml文件:

<?xml version="1.0" encoding="utf-8"?><bookstore><book><title lang="eng">Harry Potter</title><price>18.34</price></book><book><title lang="eng">Learning XML</title><price>35.76</price></book></bookstore>

php代码:

<?php//装载一个xml文件$library = simplexml_load_file("books.xml");//$library便是一个工具echo "<pre>";var_dump($library);echo "</pre>";//取出书,$books便是一个数组$books = $library->book;echo count($books);$book=$books[0];//取出书名echo $book->title;//取出书的价格echo $book->price;for($i=0;$i<count($books);$i++){$book = $books[$i];//取出title节点的属性$title=$book->title;echo $title['lang'];//简化的语句:echo $book->title['lang'];echo $book->title."|".$book->price."<br/>";}?>

simpleXML与XPath结合利用:

在载入XML文件后,simpleXML供应xpath()方法实行xpath查询,如下所示:

foreach($library->xpath("//title") as $title){echo "书名:".$title."<br />";}

上述foreach循环显示实行xpath查询取得的所有的title元素的值,即书名;

simpleXML也可以直接装载一个string字符串(xml规范)

simplexml_load_string()函数把XML字符串载入工具中。
如果失落败,则返回false。

<?php$string = <<<XML<?xml version="1.0" encoding="utf-8"?><bookstore><book><title lang="eng">Harry Potter</title><price>19.57</price></book><book><title lang="eng">Learning XML</title><price>34.47</price></book></bookstore>XML;$xml = simplexml_load_string($string);foreach($xml->xpath("//title") as $title){echo $title."<br />";//print_r($xml); //打印$xml工具}?>

上例输出结果

Harry Potter

Learning XML

simpleXML装载DOM工具

simplexml_import_dom()函数把DOM节点转换为SimpleXMLElement工具。
如果失落败,则该函数返回false。

<?php$dom = new DOMDocument();$dom -> loadXML ( '<books><book><title>blah</title></book></books>' );if (! $dom ) {echo 'Error while parsing the document' ;exit;}$xmldom = simplexml_import_dom ( $dom );echo $xmldom -> book [ 0 ]-> title ;?>

上例输出结果:

blah

标签:

相关文章

小米2S工程代码详细国产手机的崛起之路

小米2S作为小米公司旗下的一款经典手机,自2013年发布以来,凭借其出色的性能和亲民的价格,赢得了广大消费者的喜爱。本文将深入解析...

Web前端 2025-02-18 阅读0 评论0

探秘自定义报表代码数据呈现的魔法师

在信息化时代,数据已成为企业运营决策的重要依据。报表作为数据可视化的重要手段,越来越受到企业的关注。而自定义报表代码,则犹如数据呈...

Web前端 2025-02-18 阅读0 评论0