somemo's diary

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【php】xmlデータの作成【DOMDocument】

DOMDocumentを使用してXMLデータを作成する方法のメモです。

DOMDocument

DOMをあらわすクラスです。このクラスはDOMNode クラスを継承していて、これ自体も要素を現すようになっています。

top_level要素に、配列で作成した子要素を追加する例です。

<?php

// DOMの作成と初期化
$dom = new DOMDocument();
$dom->encoding = 'UTF-8';
$dom->formatOutput = true;

// タグリスト
$tag_list = array(
  'tag_name' => 'value',
  'tag_2'    => 'value2',
);

// タグの作成
$top_level = $dom->appendChild($dom->createElement('top_level'));

// タグの子要素にタグリストを追加
foreach($tag_list as $tag_name => $value) {
  $tag = $top_level->appendChild($dom->createElement($tag_name));
  // タグリストの値をCDATAとして追加する
  $tag->appendChild($dom->createCDATASection($value));
}

// XML出力
echo $dom->saveXML();

出力

以下のように出力されます。

<?xml version="1.0" encoding="UTF-8"?>
<top_level>
  <tag_name><![CDATA[value]]></tag_name>
  <tag_2><![CDATA[value2]]></tag_2>
</top_level>

参考