DOMDocument::getElementsByTagNameNS

(PHP 5, PHP 7)

DOMDocument::getElementsByTagNameNS 指定した名前空間で、タグ名に対応するすべての要素を検索する

説明

public DOMDocument::getElementsByTagNameNS ( string $namespaceURI , string $localName ) : DOMNodeList

指定したローカル名および名前空間 URI に一致するすべての要素の DOMNodeList を返します。

パラメータ

namespaceURI

条件に一致する要素の名前空間 URI。 * はすべての名前空間に一致します。

localName

条件に一致する要素のローカル名。 * はすべてのローカル名に一致します。

返り値

一致するすべての要素を含む、新しい DOMNodeList オブジェクトを返します。

例1 すべての XInclude 要素を取得する

<?php

$xml 
= <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
 <xi:include href="book.xml">
  <xi:fallback>
   <error>xinclude: book.xml not found</error>
  </xi:fallback>
 </xi:include>
 <include>
  This is another namespace
 </include>
</para>
</chapter>
EOD;
$dom = new DOMDocument;

// 上で定義した XML 文字列を読み込みます
$dom->loadXML($xml);

foreach (
$dom->getElementsByTagNameNS('http://www.w3.org/2001/XInclude''*') as $element) {
    echo 
'local name: '$element->localName', prefix: '$element->prefix"\n";
}
?>

上の例の出力は以下となります。

local name: include, prefix: xi
local name: fallback, prefix: xi

参考