DOMXPath::evaluate()函数是PHP中的内置函数,用于执行给定的XPath表达式,该表达式是为选择一组节点而定义的模式。
用法:
mixed DOMXPath::evaluate( string $expression, DOMNode $contextnode, bool $registerNodeNS )
参数:此函数接受上述和以下所述的三个参数:
- $expression:它指定要执行的XPath表达式。
- $contextnode (Optional):它指定用于执行相对XPath查询的contextnode。默认情况下,查询是相对于根元素的。
- $registerNodeNS (Optional):它指定是否禁用上下文节点的自动注册。
返回值:成功时此函数返回TRUE。
异常:该函数在出错时抛出DOMXPathException。
下面的示例说明了PHP中的DOMXPath::evaluate()函数:
范例1:
<?php
// Create a new DOMDocument instance
$document = new DOMDocument();
// Create a XML
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<bookstore>
<book>
<title lang="en">GeeksforGeeks</title>
<price>400</price>
</book>
<book>
<title lang="en">Intro to XML</title>
<price>300</price>
</book>
</bookstore>
XML;
// Load the XML
$document->loadXML($xml);
// Create a new DOMXPath instance
$xpath = new DOMXPath($document);
// Get the
$tbody = $document->
getElementsByTagName('bookstore')->item(0);
// Query to get the number of titles with lang
// attribute "en"
$query = 'count(//title[@lang=\'en\'])';
// Evaluate the query
$entries = $xpath->evaluate($query, $tbody);
echo "Number of elements with lang = \"en\":$entries\n";
?>
输出:
Number of elements with lang = "en":2
范例2:
<?php
// Create a new DOMDocument instance
$document = new DOMDocument();
// Create a XML
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<GeeksforGeeks>
Keep Learning.
</GeeksforGeeks>
XML;
// Load the XML
$document->loadXML($xml);
// Create a new DOMXPath instance
$xpath = new DOMXPath($document);
// Get the
$tbody = $document->
getElementsByTagName('GeeksforGeeks')->item(0);
// Get the element with name GeeksforGeeks
$query = '//GeeksforGeeks';
// Evaluate the query
$entries = $xpath->evaluate($query, $tbody);
echo $entries[0]->nodeValue;
?>
输出:
Keep Learning.
参考: https://www.php.net/manual/en/domxpath.evaluate.php
相关用法
- PHP DOMXPath __construct()用法及代码示例
- PHP DOMXPath query()用法及代码示例
- PHP DOMXPath registerPhpFunctions()用法及代码示例
- d3.js d3.set.add()用法及代码示例
- PHP key()用法及代码示例
- PHP pos()用法及代码示例
- PHP pi( )用法及代码示例
- d3.js d3.max()用法及代码示例
- PHP Ds\Map get()用法及代码示例
- PHP abs()用法及代码示例
- PHP Ds\Map last()用法及代码示例
- d3.js d3.min()用法及代码示例
注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | DOMXPath evaluate() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。