DOMXPath::query()
执行XPath查询,并返回结果作为DOMNodeList对象
函数名称: DOMXPath::query()
函数描述:该函数用于执行XPath查询,并返回结果作为DOMNodeList对象。
适用版本:该函数在PHP 5及以上版本中可用。
语法: DOMNodeList DOMXPath::query ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )
参数说明:
expression: 必需。XPath查询表达式。
contextnode: 可选。作为查询上下文的DOM节点,默认为整个文档。
registerNodeNS: 可选。指定是否将命名空间注册到查询上下文中,默认为true。
返回值:返回一个DOMNodeList对象,其中包含满足XPath查询表达式的节点列表。如果未找到匹配的节点,则返回一个空的DOMNodeList对象。
示例:
load('books.xml');
// 创建一个DOMXPath对象
$xpath = new DOMXPath($doc);
// 对查询结果进行遍历
$nodes = $xpath->query('//book');
foreach ($nodes as $node) {
echo $node->nodeName . ": " . $node->getAttribute("id") . "
";
}
?>
输出结果:
book: 1
book: 2
book: 3
...
以上示例演示了如何使用DOMXPath::query()函数执行XPath查询来遍历XML文档中的所有"book"节点。函数首先创建了一个DOMDocument对象并载入XML文件。然后,它创建了一个DOMXPath对象,并使用XPath查询表达式"//book"来选择文档中所有的"book"节点。最后,使用foreach循环遍历查询结果,并输出每个节点的节点名称和"id"属性值。