PHP xpath()函数讲解
概述
xpath()函数是PHP DOM扩展提供的一种解析XML文档的方式,可以遍历XML文档中的节点,查询节点的属性和内容。它是一个非常强大和灵活的函数,可以方便地根据特定的条件查询XML文档中的节点。
函数原型
mixed xpath ( string $path )
参数
path
: 必需。要查询的XPath表达式。
返回值
返回一个包含查询结果的数组,每个元素都是一个SimpleXMLElement对象。
示例说明
示例1:遍历XML文档中的所有节点
以下示例演示了如何使用xpath()函数查询XML文档中的所有节点:
$xmlstr =<<<XML
<?xml version='1.0'?>
<bookstore>
<book category="CHILDREN">
<title>Harry Potter</title>
<author>J.K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
XML;
$xml = simplexml_load_string($xmlstr);
$result = $xml->xpath("//*");
foreach ($result as $node) {
echo "{$node->getName()}\n";
}
上面的代码将输出如下所示的结果:
bookstore
book
title
author
year
price
book
title
author
year
price
示例2:查询所有category为WEB的book节点的title节点的值
以下示例演示了如何使用xpath()函数查询XML文档中所有category为WEB的book节点的title节点的值:
$xmlstr =<<<XML
<?xml version='1.0'?>
<bookstore>
<book category="CHILDREN">
<title>Harry Potter</title>
<author>J.K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
XML;
$xml = simplexml_load_string($xmlstr);
$result = $xml->xpath("//book[@category='WEB']/title");
foreach ($result as $node) {
echo "{$node}\n";
}
上面的代码将输出如下所示的结果:
Learning XML
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP xpath()函数讲解 - Python技术站