XPath的使用

来源:互联网 发布:辽宁北方网络 编辑:程序博客网 时间:2024/05/14 20:08

XPath即为XML路径语言,它可以从XML文档的树形结构中找出某节点的功能,它可以按照路径表达式来查找所需要的节点信息。

04.xml文件:

这里写图片描述

例子1:找出book节点下的书籍名称

<?php/** * XPath的使用 * @author webbc */header('Content-type:text/html;charset=utf-8');//确定编码$dom = new DomDocument('1.0','utf-8');//创建dom对象$dom->load('04.xml');//加载xml文件$xpath = new DomXPath($dom);//创建xpath路径对象$sql = '/bookstore/book/title';//定义路径表达式,含义是从根节点下的bookstore节点下的book节点下找出title节点$list = $xpath->query($sql);//查找操作//遍历,输出节点内容foreach ($list as $k => $v) {    echo $v->nodeValue."<br/>";}   ?>

结果:

这里写图片描述


例子2:找出价格大于50元的书籍名称

代码:

<?php/** * XPath的使用 * @author webbc */header('Content-type:text/html;charset=utf-8');$dom = new DomDocument('1.0','utf-8');$dom->load('04.xml');$xpath = new DomXPath($dom);$sql = '/bookstore/book[price>50]/title';//路径表达式,表示价格大于50元的书籍的title节点$list = $xpath->query($sql);foreach ($list as $k => $v) {    echo $v->nodeValue."<br/>";}   ?>

结果:

这里写图片描述


例子3:找出所有title节点,包括a标签下的title节点

代码:

<?php/** * XPath的使用 * @author webbc */header('Content-type:text/html;charset=utf-8');$dom = new DomDocument('1.0','utf-8');$dom->load('04.xml');$xpath = new DomXPath($dom);$sql = '//title';//表示选取所有title元素,而不管它们在文档中的位置$list = $xpath->query($sql);foreach ($list as $k => $v) {    echo $v->nodeValue."<br/>";}?>

结果:

这里写图片描述


例子4:找出第二本书籍的名称

代码:

<?php/** * XPath的使用 * @author webbc */header('Content-type:text/html;charset=utf-8');$dom = new DomDocument('1.0','utf-8');$dom->load('04.xml');$xpath = new DomXPath($dom);$sql = '/bookstore/book[2]/title';//找出第二本书籍的名称$list = $xpath->query($sql);foreach ($list as $k => $v) {    echo $v->nodeValue."<br/>";}?>

结果:

这里写图片描述


例子5:找出书籍名称为“天龙八部”的价格
代码:

<?php/** * XPath的使用 * @author webbc */header('Content-type:text/html;charset=utf-8');$dom = new DomDocument('1.0','utf-8');$dom->load('04.xml');$xpath = new DomXPath($dom);$sql = '/bookstore/book[title="天龙八部"]/price';//找出书籍名称为“天龙八部”的价格$list = $xpath->query($sql);foreach ($list as $k => $v) {    echo $v->nodeValue."<br/>";}?>

结果:
这里写图片描述

0 0
原创粉丝点击