PHP
HTML

DOMXPath::evaluate

DOMXPath::evaluate

(PHP 5 >= 5.1.0, PHP 7)

DOMXPath :: evaluate - 评估给定的XPath表达式,并在可能的情况下返回类型化结果

描述

public mixed DOMXPath::evaluate ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] )

执行给定的XPath expression并在可能的情况下返回类型化的结果。

参数

expression

要执行的XPath表达式。

contextnode

可选项contextnode可以指定用于执行相对XPath查询。默认情况下,查询是相对于根元素的。

registerNodeNS

可选的registerNodeNS可以被指定来禁用上下文节点的自动登记。

返回值

如果可能的话返回一个类型化的结果,或者返回一个DOMNodeList,其中包含所有匹配给定XPath的节点expression

如果expression格式不正确或者contextnode无效,返回DOMXPath :: evaluate()FALSE

更新日志

描述
5.3.3registerNodeNS参数已添加。

例子

示例#1获取所有英语书籍的数量

<?php $doc = new DOMDocument; $doc->load('book.xml' $xpath = new DOMXPath($doc $tbody = $doc->getElementsByTagName('tbody')->item(0 // our query is relative to the tbody node $query = 'count(row/entry[. = "en"])'; $entries = $xpath->evaluate($query, $tbody echo "There are $entries english books\n"; ?>

上面的例子将输出:

There are 2 english books