查询

DOMDocument::getElementsByTagNameNS()函数—用法及示例

「 获取指定命名空间和标签名称的元素节点 」


函数名称:DOMDocument::getElementsByTagNameNS()

适用版本:所有版本的 PHP(包括 PHP 5 和 PHP 7)

用法: DOMDocument::getElementsByTagNameNS() 函数用于获取指定命名空间和标签名称的元素节点。

语法: DOMNodeList|false DOMDocument::getElementsByTagNameNS( string $namespaceURI , string $localName )

参数:

  • $namespaceURI:所需的命名空间 URI。如果设置为 "*",则返回所有命名空间的元素节点。
  • $localName:所需的标签名称。

返回值: 如果成功找到匹配的节点,则返回一个 DOMNodeList 对象,该对象包含所有匹配的元素节点。如果没有找到匹配的节点,则返回 false。

示例:

$xml = <<<XML
<library xmlns:book="http://example.com/book">
    <book:book>
        <book:title>PHP Basics</book:title>
        <book:author>John Doe</book:author>
    </book:book>
    <book:book>
        <book:title>Advanced PHP</book:title>
        <book:author>Jane Smith</book:author>
    </book:book>
</library>
XML;

$dom = new DOMDocument();
$dom->loadXML($xml);

$books = $dom->getElementsByTagNameNS("http://example.com/book", "book");
foreach ($books as $book) {
    $title = $book->getElementsByTagNameNS("http://example.com/book", "title")->item(0)->textContent;
    $author = $book->getElementsByTagNameNS("http://example.com/book", "author")->item(0)->textContent;
    
    echo "Title: $title\nAuthor: $author\n\n";
}

输出结果:

Title: PHP Basics
Author: John Doe

Title: Advanced PHP
Author: Jane Smith

以上示例代码演示了如何使用 DOMDocument::getElementsByTagNameNS() 函数来获取指定命名空间和标签名称的元素节点。在示例中,我们首先加载了一个 XML,然后使用 getElementsByTagNameNS() 方法获取所有具有 "http://example.com/book" 命名空间和 "book" 标签名称的元素节点。接下来,通过迭代找到的节点列表,使用 getElementsByTagNameNS() 方法进一步获取每个节点中的 "title" 和 "author" 子元素的文本内容,并将其输出到屏幕上。

补充纠错
热门PHP函数
分享链接