我必须在运行时动态生成一个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>
要在PHP中创建一个XMLdocument,您应该实例化一个DOMDocument类,创建子节点并将这些节点附加到文档树的正确分支中。
如需参考,请阅读https://www.php.net/manual/en/book.dom.php
现在我们将快速浏览下面的代码。
在第2行,我们创建一个空XML文档
(只需指定XML版本(1.0)和编码(utf8))
现在我们需要填充XML树:
我们必须创建一个xmlnode(第5行)
我们要把它加在正确的位置上。我们正在创建根目录,所以我们直接将它附加到domdocument。
注意创建元素将元素附加到节点并返回插入的节点,我们保存这个引用以将轨道节点附加到根节点(顺便称为xml)。
这些都是基本的,你可以在一行中创建和添加一个节点(例如第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);
/* you should enclose the following lines in a loop */
$currentTrack = $domtree->createElement("track");
$currentTrack = $xmlRoot->appendChild($currentTrack);
$currentTrack->appendChild($domtree->createElement('path','song1.mp3'));
$currentTrack->appendChild($domtree->createElement('title','title of song1.mp3'));
$currentTrack = $domtree->createElement("track");
$currentTrack = $xmlRoot->appendChild($currentTrack);
$currentTrack->appendChild($domtree->createElement('path','song2.mp3'));
$currentTrack->appendChild($domtree->createElement('title','title of song2.mp3'));
/* get the xml printed */
echo $domtree->saveXML();
?>
编辑:
还有一个提示:
使用xmldocument (dom文档或simplexml文档)而不是打印xml的主要优点是xmltree可以用xpath查询进行搜索
要在PHP中创建一个XMLdocument,您应该实例化一个DOMDocument类,创建子节点并将这些节点附加到文档树的正确分支中。
如需参考,请阅读https://www.php.net/manual/en/book.dom.php
现在我们将快速浏览下面的代码。
在第2行,我们创建一个空XML文档
(只需指定XML版本(1.0)和编码(utf8))
现在我们需要填充XML树:
我们必须创建一个xmlnode(第5行)
我们要把它加在正确的位置上。我们正在创建根目录,所以我们直接将它附加到domdocument。
注意创建元素将元素附加到节点并返回插入的节点,我们保存这个引用以将轨道节点附加到根节点(顺便称为xml)。
这些都是基本的,你可以在一行中创建和添加一个节点(例如第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);
/* you should enclose the following lines in a loop */
$currentTrack = $domtree->createElement("track");
$currentTrack = $xmlRoot->appendChild($currentTrack);
$currentTrack->appendChild($domtree->createElement('path','song1.mp3'));
$currentTrack->appendChild($domtree->createElement('title','title of song1.mp3'));
$currentTrack = $domtree->createElement("track");
$currentTrack = $xmlRoot->appendChild($currentTrack);
$currentTrack->appendChild($domtree->createElement('path','song2.mp3'));
$currentTrack->appendChild($domtree->createElement('title','title of song2.mp3'));
/* get the xml printed */
echo $domtree->saveXML();
?>
编辑:
还有一个提示:
使用xmldocument (dom文档或simplexml文档)而不是打印xml的主要优点是xmltree可以用xpath查询进行搜索