函数名:SimpleXMLElement::getNamespaces()
适用版本:PHP 5 >= 5.1.3, PHP 7
函数用途:SimpleXMLElement::getNamespaces() 方法用于获取当前 XML 元素的命名空间列表。
语法:public array SimpleXMLElement::getNamespaces ( bool $recursive = false )
参数:
- recursive(可选):指定是否递归获取命名空间,默认为 false,表示只获取当前元素的命名空间。
返回值:返回一个包含当前元素命名空间的关联数组。数组的键是命名空间前缀,值是命名空间的 URI。
示例:
$xmlString = '<root xmlns:ns1="http://example.com/ns1" xmlns:ns2="http://example.com/ns2">
<child>Some content</child>
</root>';
$xml = new SimpleXMLElement($xmlString);
$namespaces = $xml->getNamespaces();
foreach ($namespaces as $prefix => $uri) {
echo "命名空间前缀:{$prefix},命名空间 URI:{$uri}\n";
}
输出:
命名空间前缀:ns1,命名空间 URI:http://example.com/ns1
命名空间前缀:ns2,命名空间 URI:http://example.com/ns2
在上面的示例中,我们创建了一个包含命名空间的 XML 字符串,并使用 SimpleXMLElement 类将其解析为一个 XML 对象。然后,我们使用 getNamespaces() 方法获取当前元素的命名空间列表,并通过 foreach 循环遍历输出每个命名空间的前缀和 URI。
注意:如果 recursive 参数设置为 true,getNamespaces() 方法将递归获取所有父元素的命名空间。