当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。