本文实例讲述了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互相转换工具:
http://tools.jb51.net/code/xmljson
在线格式化xml/在线压缩xml:
http://tools.jb51.net/code/xmlformat
xml在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress
xml代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多关于php相关内容感兴趣的读者可查看本站专题:《php针对xml文件操作技巧总结》、《php数组(array)操作技巧大全》、《php字符串(string)用法总结》、《php错误与异常处理方法总结》、《php基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家php程序设计有所帮助。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!