registerXPathNamespace
为下一个 XPath 查询创建命名空间上下文。
PHP 5及以上版本
registerXPathNamespace 函数用于将命名空间注册到当前的XPath查询上下文中。这样可以在XPath查询中使用该命名空间。
registerXPathNamespace ( string $prefix , string $namespace )
成功时返回 true,失败时返回 false。
$dom = new DOMDocument();
$dom->loadXML('<root xmlns:ns="http://example.com/ns"><ns:item>Test</ns:item></root>');
<p>$xpath = new DOMXPath($dom);<br>
$xpath->registerXPathNamespace('ns', '<a rel="noopener" target="_new" class="cursor-pointer">http://example.com/ns</a>');</p>
<p>$nodes = $xpath->query('//ns:item');<br>
foreach ($nodes as $node) {<br>
echo $node->nodeValue;<br>
}<br>
在这个例子中,我们首先创建了一个包含命名空间的XML文档。接着,使用 DOMXPath 类创建 XPath 对象,并通过 registerXPathNamespace 方法将命名空间与前缀 'ns' 关联。最后,使用 XPath 查询 '//ns:item' 来选择带有 'ns' 前缀的节点,并打印出其内容。