首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DOMXPath::evaluate

(PHP 5 >= 5.1.0, PHP 7)

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

描述

代码语言:javascript
复制
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获取所有英语书籍的数量

代码语言:javascript
复制
<?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";

?>

上面的例子将输出:

代码语言:javascript
复制
There are 2 english books

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com