當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP SimpleXMLElement getNamespaces()用法及代碼示例


前提條件: 閱讀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



相關用法


注:本文由純淨天空篩選整理自gekcho大神的英文原創作品 PHP | SimpleXMLElement getNamespaces() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。