函数名:DOMElement::getElementsByTagNameNS()
适用版本:PHP 5, PHP 7
用法:DOMElement::getElementsByTagNameNS() 方法用于在指定的命名空间 URI 和标签名下获取元素的 NodeList。它属于 DOMElement 类的一个成员函数。
语法:DOMElement::getElementsByTagNameNS($namespaceURI, $localname)
参数:
- $namespaceURI (string):要匹配的命名空间 URI。
- $localname (string):要匹配的标签名。
返回值:返回一个 DOMNodeList 对象,其中包含匹配的元素列表。
示例:
$xmlString = '<?xml version="1.0"?>
<root xmlns:foo="http://www.example.com/">
<foo:element1>Value 1</foo:element1>
<element2>Value 2</element2>
<foo:element3>Value 3</foo:element3>
</root>';
$dom = new DOMDocument();
$dom->loadXML($xmlString);
$root = $dom->documentElement;
// 搜索命名空间为 http://www.example.com/,标签名为 element1 的元素
$elements1 = $root->getElementsByTagNameNS('http://www.example.com/', 'element1');
foreach ($elements1 as $element1) {
echo $element1->nodeName . ': ' . $element1->nodeValue . "\n";
}
// 搜索命名空间为任意,标签名为 element2 的元素
$elements2 = $root->getElementsByTagNameNS('*', 'element2');
foreach ($elements2 as $element2) {
echo $element2->nodeName . ': ' . $element2->nodeValue . "\n";
}
输出:
foo:element1: Value 1
element2: Value 2