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