前提条件: 阅读XML基础知识
SimpleXMLElement::getNamespaces()函数是PHP中的一个内置函数,用于检索XML文档中声明的名称空间。
用法:
array SimpleXMLElement::getNamespaces( $recursive )
参数:此函数接受可选的单个参数$recursive。其默认值为FALSE。如果传递True,则它将递归返回父节点和子节点中的名称空间。如果设置为False,则仅返回父节点的名称空间。
返回值:此函数返回带有关联URI的名称空间名称数组。
注意:此函数适用于PHP 5.1.2和更高版本。
以下示例程序旨在说明PHP中的SimpleXMLElement::getNamespaces()函数:
程序1:
<?php
// Loading XML document to $user
$user = <<<XML
<user xmlns:user_id="http://geeksforgeeks.org/user">
<single_user id="1">
<user_id:id>12345</user_id:id>
<username>Geeks123</username>
<name>GeeksforGeeks</name>
<phone>+91-XXXXXXXXXX</phone>
<detail font-color="blue" font-size="24px">
Noida India
</detail>
</single_user>
<single_user id="2">
<user_id:id>15980</user_id:id>
<username>Geeks54321</username>
<name>Geeks</name>
<phone>+91-XXXXXXXXXX</phone>
<detail font-color="blue" font-size="24px">
Noida India
</detail>
</single_user>
</user>
XML;
// Loading string as simple xml object
$xml = simplexml_load_string($user);
// Retrieving namespaces
$result = $xml->getNamespaces(1);
// Display output
print_r($result);
?>
输出:
Array ( [user_id] => http://geeksforgeeks.org/user )
程序2:
<?php
// Loading XML document to $user
$user = <<<XML
<user xmlns:user_id="http://geeksforgeeks.org/user">
<single_user id="1" xmlns:name="http://geeksforgeeks.org/user/name">
<user_id:id>12345</user_id:id>
<username>rakesh123</username>
<name:firstname>Rakesh</name:firstname>
<name:lastname>Kumar</name:lastname>
<phone>+91-XXXXXXXXXX</phone>
<detail>Noida India</detail>
</single_user>
<single_user id="2" xmlns:name="http://geeksforgeeks.org/user/name">
<user_id:id>57833</user_id:id>
<username>man123</username>
<name:firstname>Manjeet</name:firstname>
<name:lastname>Singh</name:lastname>
<phone>+91-XXXXXXXXXX</phone>
<detail>Kolkata, India</detail>
</single_user>
<single_user id="3" xmlns:name="http://geeksforgeeks.org/user/name">
<user_id:id>98944</user_id:id>
<username>ak98</username>
<name:firstname>Ak</name:firstname>
<name:lastname>Singh</name:lastname>
<phone>+91-XXXXXXXXXX</phone>
<detail>Noida India</detail>
</single_user>
</user>
XML;
// Loading string as simple xml object
$xml = simplexml_load_string($user);
// Retrieving namespaces
$result = $xml->getNamespaces(TRUE);
// Displaying output
print_r($result);
?>
输出:
Array ( [user_id] => http://geeksforgeeks.org/user [name] => http://geeksforgeeks.org/user/name )
参考: https://www.php.net/manual/en/simplexmlelement.getnamespaces.php
相关用法
- PHP SimpleXMLElement asXML()用法及代码示例
- PHP SimpleXMLElement saveXML()用法及代码示例
- PHP SimpleXMLElement registerXPathNamespace()用法及代码示例
- PHP SimpleXMLElement addAttribute()用法及代码示例
- PHP SimpleXMLElement getDocNamespaces()用法及代码示例
- PHP SimpleXMLElement addChild()用法及代码示例
- PHP SimpleXMLElement XPath()用法及代码示例
- PHP SimpleXMLElement count()用法及代码示例
- PHP SimpleXMLElement children()用法及代码示例
- PHP SimpleXMLElement::__construct()用法及代码示例
- PHP SimpleXMLElement::getName()用法及代码示例
- PHP SimpleXMLElement attributes()用法及代码示例
注:本文由纯净天空筛选整理自gekcho大神的英文原创作品 PHP | SimpleXMLElement getNamespaces() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。