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


PHP DOMDocument getElementsByTagnameNS()用法及代碼示例


DOMDocument::getElementsByTagNameNS()函數是PHP中的內置函數,用於在指定的命名空間中搜索具有給定標簽名稱的所有元素。

用法:

DOMNodeList DOMDocument::getElementsByTagNameNS( 
            string $namespaceURI, string $localName )

參數:該函數接受上述和以下所述的兩個參數:


  • $namespaceURI:它指定要匹配的元素的名稱空間URI,*匹配所有名稱空間。
  • $localName:它指定要匹配的元素的本地名稱,並且*匹配所有本地名稱。

返回值:此函數返回具有給定的本地名稱和名稱空間URI的所有元素的DOMNodeList。

下麵給出的程序說明了PHP中的DOMDocument::getElementsByTagNameNS()函數:

程序1:在此示例中,我們將獲取具有特定名稱空間的元素的本地名稱和前綴。

<?php 
// Create a XML 
$xml = <<<EOD 
<?xml version="1.0" ?> 
<!-- this is the namespace --> 
<chapter xmlns:xi="my_namespace"> 
<title>Books of the other guy..</title> 
<para> 
    <xi:include> 
        <xi:fallback> 
        </xi:fallback> 
    </xi:include> 
</para> 
</chapter> 
EOD; 
  
$dom = new DOMDocument; 
   
// Load the XML string defined above 
$dom->loadXML($xml); 
   
// Use getElementsByTagName to get 
// the elments from xml 
foreach ($dom->getElementsByTagNameNS( 
        'my_namespace', '*') as $element) { 
    echo '<b>Local name:</b> ',  
        $element->localName, 
        ', <b>Prefix:</b>',  
        $element->prefix, "<br>"; 
} 
  
?>

輸出:

Local name: include, Prefix: xi
Local name: fallback, Prefix: xi

程序2:在此示例中,我們將獲取某個命名空間的元素數量。

<?php 
// Create a XML 
$xml = <<<EOD 
<?xml version="1.0" ?> 
<!-- this is the namespace --> 
<chapter xmlns:xi="my_namespace"> 
<title>Books of the other guy..</title> 
<para> 
    <xi:include>        <!--  1st --> 
        <xi:fallback>   <!--  2nd --> 
        </xi:fallback> 
    </xi:include> 
    <xi:include>        <!--  3rd --> 
        <xi:fallback>   <!--  4th --> 
        </xi:fallback> 
    </xi:include> 
</para> 
</chapter> 
EOD; 
   
$dom = new DOMDocument(); 
   
// Load the XML string defined above 
$dom->loadXML($xml); 
   
// It will count all occurance of 
// xi inside my_namespace 
$elements = $dom->getElementsByTagNameNS( 
            'my_namespace', '*'); 
  
print_r($elements->length); 
?>

輸出:

4

參考: https://www.php.net/manual/en/domdocument.getelementsbytagnamens.php



相關用法


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