PHP SimpleXML函数

PHP SimpleXMLElement::getNamespaces() 方法返回文档中使用的命名空间。

语法

public SimpleXMLElement::getNamespaces(recursive) 

参数

recursive可选。 如果设置为 true,则返回父节点和子节点中使用的所有名称空间。否则,仅返回根节点中使用的命名空间。

返回值

返回命名空间名称及其关联 URI 的数组。

示例:

下面的示例显示了 SimpleXMLElement::getNamespaces() 方法的用法。

<?php
$xmlstr = <<<XML
<userlist xmlns:p="http: //example.com/test1" xmlns:t="http://example.com/test2">
  <p:user id="John123">
    <name>John Smith</name>
    <city>New York</city>
    <phone>+1-8054098000</phone>
  </p:user>
  
  <t:user id="Marry2015">
    <name>Marry G.</name>
    <city>London</city>
    <phone>+33-147996101</phone>
  </t:user> 
</userlist> 
XML;

$xml = new SimpleXMLElement($xmlstr);

$namespaces = $xml->getNamespaces(true);
var_dump($namespaces);
?> 

上述代码的输出将是:

array(2) {
  ["p"]=>
  string(24) "http://example.com/test1"
  ["t"]=>
  string(24) "http://example.com/test2"
}