PHP getDocNamespaces() 函数


PHP getDocNamespaces() 函数


实例

返回 XML 文档的根节点中声明的命名空间:

<?php  
$xml=<<<XML  
<?xml version="1.0" standalone="yes"?>  
<cars xmlns:c="http://codingdict.com/ns">  
<c:car id="1">Volvo</c:car>  
<c:car id="2">BMW</c:car>  
<c:car id="3">Saab</c:car>  
</cars>  
XML;  

$sxe=new SimpleXMLElement($xml);  
$ns=$sxe->getDocNamespaces();  
print_r($ns);  
?>

定义和用法

getDocNamespaces() 函数返回 XML 文档中声明的命名空间。

语法

getDocNamespaces( _recursive_ , _from_root_ );
参数 描述
_recursive_ 可选。规定一个布尔值。如果值为 TRUE,则返回所有父节点和子节点中声明的所有命名空间。如果值为 FALSE,则只返回根节点中声明的命名空间。默认是 FALSE。
_from_root_ 可选。规定一个布尔值。如果值为 TRUE,则检查 XML 文档的根节点中的命名空间。如果值为 FALSE,则检查子节点下的命名空间。默认是 TRUE。

技术细节

返回值: 返回一个带有相关 URI 的命名空间名称数组。
PHP 版本: 5.1.2+
PHP 更新日志: PHP 5.4:新增了 _from_root_ 参数。

实例 1

返回 XML 文档的父节点和子节点中声明的所有命名空间:

<?php  
$xml=<<<XML  
<?xml version="1.0" standalone="yes"?>  
<cars xmlns:c="http://codingdict.com/ns">  
<c:car id="1">Volvo</c:car>  
<c:car id="2">BMW</c:car>  
<c:car id="3" a:country="Sweden"
xmlns:a="http://codingdict.com/country">Saab</c:car>  
</cars>  
XML;  

$sxe=new SimpleXMLElement($xml);  
$ns=$sxe->getDocNamespaces(TRUE);  
var_dump($ns);  
?>