実行時に動的にxmlファイルを生成する必要があります。 PHPを使用して動的に以下のXMLファイルを生成するのを手伝ってください。
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<track>
<path>song1.mp3</path>
<title>Track 1 - Track Title</title>
</track>
<track>
<path>song2.mp3</path>
<title>Track 2 - Track Title</title>
</track>
<track>
<path>song3.mp3</path>
<title>Track 3 - Track Title</title>
</track>
<track>
<path>song4.mp3</path>
<title>Track 4 - Track Title</title>
</track>
<track>
<path>song5.mp3</path>
<title>Track 5 - Track Title</title>
</track>
<track>
<path>song6.mp3</path>
<title>Track 6 - Track Title</title>
</track>
<track>
<path>song7.mp3</path>
<title>Track 7 - Track Title</title>
</track>
<track>
<path>song8.mp3</path>
<title>Track 8 - Track Title</title>
</track>
SimpleXMLElement を使用します。
<?php
$xml = new SimpleXMLElement('<xml/>');
for ($i = 1; $i <= 8; ++$i) {
$track = $xml->addChild('track');
$track->addChild('path', "song$i.mp3");
$track->addChild('title', "Track $i - Track Title");
}
Header('Content-type: text/xml');
print($xml->asXML());
PHPにXMLドキュメントを作成するには、DOMDocumentクラスをインスタンス化し、子ノードを作成し、それらのノードをドキュメントツリーの正しいブランチに追加する必要があります。
参考のためにあなたは読むことができます http://it.php.net/manual/en/book.dom.php
それでは、以下のコードを簡単に見ていきます。
これらは基本です、あなたはたった一行でノードを作成して追加することができます(例えば13日)、あなたはdom apiで他の多くのことをすることができます。それはあなた次第です。
<?php
/* create a dom document with encoding utf8 */
$domtree = new DOMDocument('1.0', 'UTF-8');
/* create the root element of the xml tree */
$xmlRoot = $domtree->createElement("xml");
/* append it to the document created */
$xmlRoot = $domtree->appendChild($xmlRoot);
$currentTrack = $domtree->createElement("track");
$currentTrack = $xmlRoot->appendChild($currentTrack);
/* you should enclose the following two lines in a cicle */
$currentTrack->appendChild($domtree->createElement('path','song1.mp3'));
$currentTrack->appendChild($domtree->createElement('title','title of song1.mp3'));
$currentTrack->appendChild($domtree->createElement('path','song2.mp3'));
$currentTrack->appendChild($domtree->createElement('title','title of song2.mp3'));
/* get the xml printed */
echo $domtree->saveXML();
?>
編集:もう1つのヒント:xmlを印刷する代わりにxmldocument(dom document oneまたはsimplexml one)を使用する主な利点は、xmltreeがxpath queryで検索できることです。
これを簡単に行う方法は以下のとおりです。
<?php
// Send the headers
header('Content-type: text/xml');
header('Pragma: public');
header('Cache-control: private');
header('Expires: -1');
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
echo '<xml>';
// echo some dynamically generated content here
/*
<track>
<path>song_path</path>
<title>track_number - track_title</title>
</track>
*/
echo '</xml>';
?>
.phpとして保存してください
FluidXML を使用すると、XMLを非常に簡単に生成できます。
$tracks = fluidxml('xml');
$tracks->times(8, function ($i) {
$this->add([
'track' => [
'path' => "song{$i}.mp3",
'title' => "Track {$i} - Track Title"
]
]);
});
Tiny But Strong テンプレートシステムを見てください。これは一般にHTMLのテンプレート作成に使用されますが、XMLファイルで機能する拡張子があります。 1つのコードファイルと2つのテンプレートファイル(htmとxml)を持つことができるレポートを作成するためにこれを広く使用し、その後ユーザーはレポートをスクリーンまたはスプレッドシートのどちらに送信するかを選択できます。
もう1つの利点は、xmlを最初からコーディングする必要がないことです。場合によっては、非常に大規模で複雑なスプレッドシートをエクスポートしたい場合があります。データの出力が必要な場合は、xmlを使用してコードタグに置き換えます。それは速くて非常に効率的な作業方法です。