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.3 | registerNodeNS参数已添加。 |
例子
示例#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