PHP基于DOM创建xml文档的方法示例

本文实例讲述了PHP基于DOM创建xml文档的方法。分享给大家供大家参考,具体如下:

DOM创建xml文档

用dom创建如下文档:

<booklist>

  <book id="1">

    <title>天龙八部</title>

    <author>金庸</author>

    <content>

      <![CDATA[ 天龙八部是金庸写的一本武侠小说,非常好看! ]]>

    </content>

  </book>

</booklist>

实现步骤:

1、创建DOM对象 ——》2、创建节点——》3、创建下级节点——》4、将下级节点加入到上级节点中——》5、创建属性节点——》6、将属性节点加入到拥有该属性的节点中——》7、如果还有节点则重复2~6步骤——》8、将最高级节点(即根节点)加入到DOM对象中——》9、打开或存储xml文档。

在创建节点的过程中既可以从最下级节点开始创建,也可以从根节点开始。实现代码如下:

<?php

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

$dom = new DOMDocument('1.0','utf-8');//建立DOM对象

$no1 = $dom->createElement('booklist');//创建普通节点:booklist

$dom->appendChild($no1);//把booklist节点加入到DOM文档中

$no2 = $dom->createElement('book');//创建book节点

$no1->appendChild($no2);//把book节点加入到booklist节点中

$no3 = $dom->createAttribute('id');//创建属性节点:id

$no3->value = 1;//给属性节点赋值

$no2->appendChild($no3);//把属性节点加入到book节点中

$no3 = $dom->createElement('title');

$no2->appendChild($no3);

$no4 = $dom->createTextNode('天龙八部');//创建文本节点:天龙八部

$no3->appendChild($no4);//把天龙八部节点加入到book节点中

$no3 = $dom->createElement('author');

$no2->appendChild($no3);

$no4 = $dom->createTextNode('金庸');//创建文本节点:天龙八部

$no3->appendChild($no4);//把天龙八部节点加入到book节点中

$no3 = $dom->createElement('content');

$no2->appendChild($no3);

$no4 = $dom->createCDATASection('天龙八部是金庸写的一本武侠小说,非常好看!');//创建文CDATA节点

$no3->appendChild($no4);//把天龙八部节点加入到book节点中

header('Content-type:text/html;charset=utf-8');

echo $dom->save('booklist.xml')?'存储成功':'存储失败';//存储为xml文档

/*直接以xml文档格式打开

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

echo $dom->savexml();

*/

?>

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:

以上是 PHP基于DOM创建xml文档的方法示例 的全部内容, 来源链接: utcz.com/z/325052.html

回到顶部