php

DOMを使ってみる

XMLは厳密な文法にそって書かれています。
XML文章はPHP等のプログラミング言語で取り扱いやすいものです。
XMLを定型的に利用するには、いくつかの仕様が決まっています。

XMLを利用する仕様の1つである
DOM(Document Object Model)について書いていきます。

DOMは、

XML文書を木構造とみなして分析して、
木構造のノードを操作する

という方法でXML文書を扱う形です。
木のそれぞれの節目は、ノード(node:節)といいます。
XML文書中の要素や属性、テキストなどが、DOMの「ノード」に当たります。

DOMでXML文書を作成

木構造のXML文章を組み立ててみる
ということをやってみます。

サンプルコードの実行結果はこちら

上記のコードを実行して、ChromeだとF12ボタンをしたり、ソースコードを
確認すると、以下のようになっているのが確認できます。



apple
orange

クラス メソッド 説明
DOMDocument DOMElement createElement(string $tagName) 文書の「要素」を作成
DOMDocument DOMText createTextNode(stirng $data) 文書の「テキスト」を作成
DOMNode DOMNode appendChild(DOMNode $newChild) ノードに子を追加

DOMでXMLファイルを読み込んでみる

DOMでは、読み込んだデータを取り出すことができます。
要素を取り出すには、色々な方法がありますが、
今回は以下のclassのメソッドを使ってやります。

クラス メソッド 説明
DOMDocument NodeList getElementByTagName(string $tagName) 文書から「ノードリスト」(要素のリスト)を得る
DOMNodelist DOMNode item(integer $index) ノードリストから「ノード」を得る

サンプルコードの実行結果はこちら

getElementsByTagName()メソッドは、引数の名前のタグを
もつノードのリストを取り出す処理を行います。今回は「name」という
名前を持つノードのリストを取得します。

ノードのりすとからitem()でノードを1つずつ
取り出すことができます。ノードの数は、lengthメンバ変数を
参照すればわかります。ノードの値は、nodeValueメンバ変数に
格納されています。

-php
-