加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

如何使用PHP动态生成XML文件

发布时间:2020-05-30 19:24:57 所属栏目:PHP 来源:互联网
导读:本文章向大家介绍如何使用PHP动态生成XML文件,需要的朋友可以参考一下

我需要在运行时动态生成一个xml文件。请帮我用PHP动态生成以下XML文件。

song1.mp3

Track 1 - Track Title

song2.mp3

Track 2 - Track Title

song3.mp3

Track 3 - Track Title

song4.mp3

Track 4 - Track Title

song5.mp3

Track 5 - Track Title

song6.mp3

Track 6 - Track Title

song7.mp3

Track 7 - Track Title

song8.mp3

Track 8 - Track Title

第一种方法:

我使用SimpleXMLElement。

$xml = new SimpleXMLElement('');

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());

第二种方法:

使用FluidXML,您可以非常轻松地生成XML。

$tracks = fluidxml('xml');

$tracks->times(8,function ($i) {

$this->add([

'track' => [

'path' => "song{$i}.mp3",

'title' => "Track {$i} - Track Title"

]

]);

});

第三种方法:

要在PHP中创建XML文档,您应该实例化DOMDocument类,创建子节点并将这些节点附加到文档树的正确分支中。

供参考,您可以阅读http://it.php.net/manual/en/book.dom.php

现在我们将快速浏览下面的代码。

在第2行,我们创建一个空的xml文档(只需指定xml版本(1.0)和编码(utf8))

现在我们需要填充xml树:

我们必须创建一个xmlnode(第5行)

我们必须将其添加到正确的位置。我们正在创建根,所以我们将它直接附加到domdocument。

注意create元素将元素追加到节点并返回插入的节点,我们保存此引用以将轨道节点附加到根节点(顺便称为xml)。

这些是基础知识,您可以在一行中创建和追加一个节点(例如,第13个),您可以使用dom api执行许多其他操作。它是由你决定。

/* 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();

?>

编辑:只是另一个提示:使用xmldocument(dom文档one或simplexml one)而不是打印xml的主要优点是xmltree可以使用xpath查询进行搜索

第四种方法:

一个简单的方法是:

// Send the headers

header('Content-type: text/xml');

header('Pragma: public');

header('Cache-control: private');

header('Expires: -1');

echo "";

echo '';

// echo some dynamically generated content here

/*

song_path

track_number - track_title

*/

echo '';

?>

将其保存为.php

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读