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
相关用法
- PHP DOMDocument loadXML()用法及代码示例
- PHP DOMDocument load()用法及代码示例
- PHP DOMDocument save()用法及代码示例
- PHP DOMDocument getElementsByTagName()用法及代码示例
- PHP DOMDocument loadHTML()用法及代码示例
- PHP DOMDocument loadHTMLFile()用法及代码示例
- PHP DOMDocument normalizeDocument()用法及代码示例
- PHP DOMDocument schemaValidate()用法及代码示例
- PHP DOMDocument createProcessingInstruction()用法及代码示例
- PHP DOMDocument relaxNGValidate()用法及代码示例
- PHP DOMDocument relaxNGValidateSource()用法及代码示例
- PHP DOMDocument createEntityReference()用法及代码示例
- PHP DOMDocument saveHTML()用法及代码示例
- PHP DOMDocument saveHTMLFile()用法及代码示例
- PHP DOMDocument importNode()用法及代码示例
注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | DOMDocument getElementsByTagnameNS() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
