- 635 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 23:05:23 ]
- >>630
それらしきプロパティはあって、使えるかと思って以前試したけど それほど簡単ではなかった。 DOMDocument には PreserveWhitespace というプロパティがあって、これが falseのとき、ドキュメント内の空白は保存時に自動的にインデントされる仕様。 ところが、インデントする対象が "ドキュメント内の空白" なため、 以下のような既存文書を読んだ場合、 <root> <item>a</item> </root> <root>と<item>の間、</item>と</root>の間は空白扱いなので、 書き込むときも(空白=>インデント変換によって)同様にインデントされるが、 新規に <root><item>a</item></root> というデータを作成してsaveしても途中に空白がないので、保存しても そのままではインデントしてくれない。 仕方がないので、要素をルートから再帰的にたどってタグとタグの間に テキスト要素がなければ問答無用で1つの空白を挿入するという補助関数 を作って保存前に呼んでた。
|

|