【PHP8.x】getElementsByTagNameNSメソッドの使い方

getElementsByTagNameNSメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getElementsByTagNameNSメソッドは、XMLドキュメント内で、指定された名前空間URIとローカル名を持つすべての要素をNodeListオブジェクトとして取得するメソッドです。このメソッドは、名前空間を考慮して要素を検索する必要がある場合に特に役立ちます。

具体的には、$namespaceURI引数には、要素が属する名前空間のURIを指定します。$localName引数には、検索対象となる要素のローカル名を指定します。ローカル名とは、名前空間プレフィックスを除いた要素の名前部分のことです。

getElementsByTagNameNSメソッドは、XMLドキュメント全体を再帰的に検索し、指定された名前空間URIとローカル名に一致するすべての要素をNodeListオブジェクトに格納して返します。NodeListオブジェクトは、取得された要素のリストを保持しており、インデックスを使用して各要素にアクセスできます。

このメソッドは、複雑なXMLドキュメントを扱う際に、特定の名前空間に属する要素を効率的に取得する手段を提供します。例えば、複数の名前空間が混在するドキュメントから、特定の名前空間の要素のみを抽出して処理する場合などに利用できます。

なお、$namespaceURI*を指定すると、名前空間に関係なく、指定されたローカル名を持つすべての要素が取得されます。$localName*を指定すると、指定された名前空間URIを持つすべての要素が取得されます。両方に*を指定すると、すべての要素が取得されます。

getElementsByTagNameNSメソッドは、DOMDocumentオブジェクトに対して呼び出すことができ、返り値としてDOMNodeListオブジェクトを返します。もし一致する要素が見つからない場合は、空のDOMNodeListオブジェクトが返されます。

構文(syntax)

1public Dom\NodeList Dom\XMLDocument::getElementsByTagNameNS( ?string $namespaceURI, string $localName ): Dom\NodeList

引数(parameters)

?string $namespace, string $localName

  • ?string $namespace: 対象となる要素のXML名前空間を指定します。指定しない場合は null を渡します。
  • string $localName: 検索する要素のローカル名(名前空間プレフィックスを含まない名前)を指定します。

戻り値(return)

Dom\NodeList

指定された名前空間とタグ名に一致するすべての要素のリストを返します。

【PHP8.x】getElementsByTagNameNSメソッドの使い方 | いっしー@Webエンジニア