こんにちは、さるまりんです。
あるコンサートのプログラムをXML文字列にしてみました。
<?xml version="1.0"?><プログラム><曲 順序="1"><タイトル>「フィガロの結婚」序曲</タイトル><作曲家>モーツァルト</作曲家></曲><曲 順序="2"><タイトル>トランペット協奏曲</タイトル><作曲家>ハイドン</作曲家></曲><曲 順序="3"><タイトル>交響曲第3番「英雄」</タイトル><作曲家>ベートーヴェン</作曲家></曲></プログラム>
1行です。コンピューターは簡単に読んでくれますが、人にとっては読み難いですよね。
これを字下げなどを意識したキレイにフォーマットされた状態にするプログラムです。
nice_xml_output.php
// XML文字列です。
$xmlString = '<?xml version="1.0" encoding="UTF-8"?><プログラム><曲 順序="1"><タイトル>「フィガロの結婚」序曲</タイトル><作曲家>モーツァルト</作曲家></曲><曲 順序="2"><タイトル>トランペット協奏曲</タイトル><作曲家>ハイドン</作曲家></曲><曲 順序="3"><タイトル>交響曲第3番「英雄」</タイトル><作曲家>ベートーヴェン</作曲家></曲></プログラム>';
// DOMDocumentのオブジェクトを作ります。
$dom = new DOMDocument();
// 文字列を読み込みます。
$dom->loadXML($xmlString);
// 出力をフォーマットするフラグをonにします。
$dom->formatOutput = true;
// XMLを文字列として出力します。
$output = $dom->saveXML();
echo $output;
プログラム中のコメントが各行で何しているかです。
肝はこれ。
// 出力をフォーマットするフラグをonにします。
$dom->formatOutput = true;
このフラグをオンにしておくと$dom->saveXML()
で文字列を出力した時に整形されます。
実行すると↓が出力されます。
<?xml version="1.0" encoding="UTF-8"?>
<プログラム>
<曲 順序="1">
<タイトル>「フィガロの結婚」序曲</タイトル>
<作曲家>モーツァルト</作曲家>
</曲>
<曲 順序="2">
<タイトル>トランペット協奏曲</タイトル>
<作曲家>ハイドン</作曲家>
</曲>
<曲 順序="3">
<タイトル>交響曲第3番「英雄」</タイトル>
<作曲家>ベートーヴェン</作曲家>
</曲>
</プログラム>
見やすくなりましたね。ぱっと見てわかる。見やすさって人にとって大切ですね。
読んでくださってありがとうございました。
それではまた!