[PHP-users 30696] XMLファイル生成時のformatOutputについて

吉岡 正志 yoshi @ cmn.jp
2006年 11月 8日 (水) 02:26:50 JST


はじめまして、吉岡と申します。

この度は、メーリングリストに参加させていただきました。
早速ですが、確認させていただきたいことがございます。

下記のようなプログラムを作り、XMLの検証を行っておりました。
DOMの出力の際に、整形(インデント)して見やすいXMLデータを
作ろうと思い、formatOutputというオプションをつけて、
XML出力をしているのですが、XMLデータに正しくインデントされる
箇所とそうでない箇所があることに気づきました。

formatOutputのバグもしくは、私がただしく使用できていないだけ、
どちらかわかりかねましたので、投稿させていただきました。

お手数をおかけしますが、ご教授お願いいたします。

吉岡 正志


========= test.php ==========
<?php

$doc = new DOMDocument('1.0');

$doc->load('./test.xml');

$doc->formatOutput = true;

$root = $doc->documentElement;
$news = $root->appendChild(new domElement("news"));
$parentnews = $news->appendChild(new domElement("parentnews"));
$parentnews->appendChild(new domElement("number", "2"));
$parentnews->appendChild(new domElement("name", "次郎"));

echo $doc->saveXML();

?> 


========= test.xml ==========
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <news>
    <parentnews>
      <number>1</number>
      <name>名前</name>
    </parentnews>
  </news>
</root>


========= test2.xml =============

?xml version="1.0" encoding="UTF-8"?>
<root>
  <news>
    <parentnews>
      <number>1</number>
      <name>太郎</name>
    </parentnews>
  </news>
<news><parentnews><number>2</number><name>次郎</name></parentnews></news></root>



PHP-users メーリングリストの案内