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

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

作成日: 更新日:

基本的な使い方

createElementNSメソッドは、DOMDocumentクラスに属し、指定された名前空間URIと要素名を使用して、新しいDOMElementオブジェクトを作成するメソッドです。

このメソッドは、XML文書のDOM操作において、特に要素が名前空間を持つ場合に利用されます。XML文書では、異なるスキーマや語彙で定義された要素を区別するために名前空間が使用されます。例えば、SOAPメッセージやSVGグラフィック、XHTMLなどの、複数のXMLベースの技術を組み合わせて使用する文書を作成する際に、名前空間を正確に扱うことが不可欠となります。

メソッドの第一引数には、作成する要素が属する名前空間のURI(Uniform Resource Identifier)を指定します。これは、名前空間を一意に識別するための文字列です。第二引数には、作成する要素の名前(タグ名)を指定します。このメソッドは、指定された名前空間と要素名を持つ新しいDOMElementオブジェクトを生成し、そのオブジェクトを戻り値として返します。

作成されたDOMElementオブジェクトは、まだどのDOM文書ツリーにも追加されていません。実際に文書に要素を追加するには、appendChild()などのDOMツリー操作メソッドを使用して、既存のノードの子として追加する必要があります。名前空間が不要な単純なXML要素を作成する場合は、createElementメソッドを使用します。createElementNSメソッドは、XML文書の構造を正確に表現し、名前空間の衝突を避けるための強力なツールとして、システム開発において広く利用されています。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3$namespaceUri = 'http://example.com/books';
4$qualifiedName = 'bk:bookTitle';
5$element = $dom->createElementNS($namespaceUri, $qualifiedName, 'Sample Book Title');
6?>

引数(parameters)

?string $namespace, string $qualifiedName, string $value = ''

  • ?string $namespace: 作成する要素のXML名前空間を指定します。省略可能です。
  • string $qualifiedName: 作成する要素の完全修飾名を指定します。
  • string $value = '': 作成する要素のテキストコンテンツを指定します。省略可能です。

戻り値(return)

DOMElement|false

指定された名前空間に属する新しい要素ノードを生成して返します。生成に失敗した場合は false を返します。

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