函数名称:DOMNode::lookupNamespaceURI()
适用版本:PHP 5, PHP 7
用法: DOMNode::lookupNamespaceURI() 方法用于通过给定的命名空间前缀来查找相应的命名空间URI。它在给定节点和命名空间前缀的上下文中进行查找,并返回相应的命名空间URI。
语法: public DOMNode::lookupNamespaceURI ( string $prefix ) : string|NULL
参数:
- $prefix:要查找的命名空间前缀。
返回值: 该方法返回与命名空间前缀对应的命名空间URI。如果未找到对应的命名空间URI,则返回 NULL。
示例:
$xml = <<<XML
<root xmlns:sample="http://www.example.com/sample">
<child>Example</child>
</root>
XML;
$document = new DOMDocument();
$document->loadXML($xml);
$rootNode = $document->documentElement;
$childNode = $rootNode->firstChild;
$prefix = "sample";
$namespaceURI = $childNode->lookupNamespaceURI($prefix);
if ($namespaceURI !== null) {
echo "Namespace URI for prefix '$prefix' is: $namespaceURI";
} else {
echo "No namespace URI found for prefix '$prefix'";
}
输出: Namespace URI for prefix 'sample' is: http://www.example.com/sample
解释: 在上面的示例中,我们首先创建了一个包含命名空间的XML字符串。然后,我们将该字符串解析为一个DOM文档对象。接下来,我们获取根节点和其第一个子节点。然后,我们使用lookupNamespaceURI()方法来查找命名空间前缀为"sample"的命名空间URI。由于我们已经在XML中定义了该命名空间前缀与命名空间URI的映射关系,方法返回了正确的命名空间URI。最后,我们根据返回的结果输出相应的消息。