PHP - SimpleXMLElement::getDocNamespaces() 函数



定义和用法

XML 是一种标记语言,用于在网络上共享数据,XML 既可供人类阅读,也可供机器读取。SimpleXMLElement 类在 PHP 中表示 XML 文档。

SimpleXMLElement::getDocNamespaces() 函数检索并返回文档中声明的命名空间。

语法

SimpleXMLElement::getDocNamespaces([$recursive, $from_root]);

参数

序号 参数 & 说明
1

recursive (可选)

这是一个布尔值,如果传递 TRUE,则此函数返回父节点和子节点的命名空间。

2

from_root (可选)

这是一个布尔值,如果传递 TRUE,则此函数检查子节点(而不是根节点)下的命名空间。

返回值

此函数返回一个包含命名空间的数组。

PHP 版本

此函数首次在 PHP 5 版本中引入,并在所有后续版本中有效。

示例

以下示例演示了 SimpleXMLElement::getDocNamespaces() 函数的用法。

<html>
   <head>
      <body>
         <?php
            $str="<?xml version='1.0' standalone='yes'?>
            <Tutorial xmlns:p='http://test.org/ns'>
               <Name>JavaFX</Name>
               <Pages>535</Pages>
               <Author>Krishna</Author>
               <Version>11</Version>
            </Tutorial>";
            $xml = new SimpleXMLElement($str);
            $result = $xml->getDocNamespaces();
            print_r($result);	  
         ?>      
      </body>
   </head>   
</html> 

这将产生以下结果:

JavaFX 535 Krishna 11 600

SimpleXMLElement Object ( 
   [@attributes] => Array ( [type] => test ) 
   [Name] => JavaFX [Pages] => 535 
   [Author] => Krishna [Version] => 11 
   [Tutorial] => SimpleXMLElement Object 
   ( [Price] => 600 ) 
)

示例

以下是带有可选参数的此函数示例:

<html>
   <head>
      <body>
         <?php
            $str="<Tutorial xmlns:t='http://example.org/ns' xmlns:test='http://demo.com/test'>
               <t:Name test:ns='a'>JavaFX</t:Name>
               <t:Pages test:ns='b'>535</t:Pages>
               <t:Author test:ns='c'>Krishna</t:Author>
               <t:Version test:ns='d'>11</t:Version>
            </Tutorial>"; 
            $xml = new SimpleXMLElement($str);
            $result = $xml->getDocNamespaces(TRUE, TRUE);
            var_dump($result);	 
         ?>      
      </body>
   </head>   
</html>

这将产生以下输出:

array(2) { 
   ["t"]=> string(21) "http://example.org/ns" 
   ["test"]=> string(20) "http://demo.com/test" 
}
php_function_reference.htm
广告