📜  PHP | SimpleXMLElement getDocNamespaces()函数

📅  最后修改于: 2022-05-13 01:56:25.715000             🧑  作者: Mango

PHP | SimpleXMLElement getDocNamespaces()函数

先决条件:阅读 XML 基础知识

SimpleXMLElement::getDocNamespaces()函数是PHP中的一个内置函数,用于检索 XML 文档中声明的命名空间。

句法:

array SimpleXMLElement::getDocNamespaces( $recursive, $from_root )

参数:该函数接受上面提到的两个参数,如下所述:

  • $recursive:它是可选的布尔参数。其默认值为 False。如果 True 作为参数传递,那么它将递归地返回父节点和子节点中的命名空间。如果它设置为 False 那么它只返回父节点的命名空间。
  • $from_root:它是可选的布尔参数。默认值是true。如果它设置为 True,那么它将从 XML 文档的根目录检查名称空间。如果它设置为 False,那么它将检查子节点下的命名空间。

返回值:此函数返回名称空间名称数组及其关联的 URI。

注意:此函数适用于PHP 5.1.2 及更新版本。

下面的程序说明了PHP中的 SimpleXMLElement::getDocNamespaces()函数:

方案一:



    12345
    Geeks123
    GeeksforGeeks
    +91-XXXXXXXXXX
    
        Noida India
    

  

    15980
    Geeks54321
    Geeks
    +91-XXXXXXXXXX
    
        Noida India
    


XML;
  
// Loading string as simple xml object
$xml = simplexml_load_string($user);
  
// Retrieving namespaces
$result = $xml->getDocNamespaces();
  
// Display output
print_r($result);
  
?>
输出:
Array
(
    [user_id] => http://geeksforgeeks.org/user
)

方案二:


    
        12345
        rakesh123
        Rakesh
        Kumar
        +91-XXXXXXXXXX
        Noida India
    
      
    
        57833
        man123
        Manjeet
        Singh
        +91-XXXXXXXXXX
        Kolkata, India
    
      
    
        98944
        ak98
        Ak
        Singh
        +91-XXXXXXXXXX
        Noida India
    

XML;
  
// Loading string as simple xml object
$xml = simplexml_load_string($user);
  
// Retrieving namespaces
$result = $xml->getDocNamespaces(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.getdocnamespaces。 PHP