实例
返回 XML 文档的根节点中声明的命名空间:
<?php
$xml=<<<XML
<?xml version="1.0" standalone="yes"?>
<cars
xmlns:c="http://bubuko.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://bubuko.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://bubuko.com/country">Saab</c:car>
</cars>
XML;
$sxe=new SimpleXMLElement($xml);
$ns=$sxe->getDocNamespaces(TRUE);
var_dump($ns);
?>