PHP | DOMXPath query()函数
DOMXPath::query()函数是PHP中的一个内置函数,用于计算给定的 XPath 表达式。
句法:
DOMNodeList DOMXPath::query( string $expression,
DOMNode $contextnode, bool $registerNodeNS )
参数:此函数接受三个参数,如上所述,如下所述:
- $expression:它指定要执行的 XPath 表达式。
- $contextnode(可选):它指定用于执行相对 XPath 查询的可选上下文节点。默认情况下,查询是相对于根元素的。
- $registerNodeNS(可选):它指定可选的 registerNodeNS 以禁用上下文节点的自动注册。
返回值:此函数返回一个 DOMNodeList,其中包含与给定 XPath 表达式匹配的所有节点。任何不返回节点的表达式都将返回一个空的 DOMNodeList。
下面给出的程序说明了PHP中的DOMXPath::query()函数:
程序1:在这个程序中,我们将获取具有名称内容的元素的所有元素值。
First
Second
Third
XML;
// Load the XML
$document->loadXML($xml);
// Create a new DOMXPath instance
$xpath = new DOMXPath($document);
// Get the root element
$tbody = $document->getElementsByTagName('root')->item(0);
// Get all the element with name content
$query = '//content';
// Execute the query
$entries = $xpath->query($query);
foreach ($entries as $entry) {
echo $entry->nodeValue . "
";
}
?>
输出:
First
Second
Third
程序 2:在这个程序中,我们将计算名称为 h1 的所有元素。
Hello
World
Foo
Bar
XML;
// Load the XML
$document->loadXML($xml);
// Create a new DOMXPath instance
$xpath = new DOMXPath($document);
// Get the root element
$tbody = $document->getElementsByTagName('root')->item(0);
// Get all the element with name h1
$query = '//h1';
// Execute the query
$entries = $xpath->query($query);
// Count the number of headings
echo count($entries);
?>
输出:
4
参考: https://www. PHP.net/manual/en/domxpath.query。 PHP