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


Posted in PHP onFebruary 08, 2017

本文实例讲述了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();
*/
?>
PHP 相关文章推荐
第四节--构造函数和析构函数
Nov 16 PHP
用PHP进行MySQL删除记录操作代码
Jun 07 PHP
ThinkPHP之getField详解
Jun 20 PHP
PHP实现通过正则表达式替换回调的内容标签
Jun 15 PHP
thinkPHP中多维数组的遍历方法
Jan 09 PHP
cakephp常见知识点汇总
Feb 24 PHP
自制PHP框架之设计模式
May 07 PHP
利用PHP扩展Xhprof分析项目性能实践教程
Sep 05 PHP
php-fpm重启导致的程序执行中断问题详解
Apr 29 PHP
php链式操作的实现方式分析
Aug 12 PHP
PHP7数组的底层实现示例
Aug 25 PHP
PHP接入支付宝接口失效流程详解
Nov 10 PHP
PHP输出XML格式数据的方法总结
Feb 08 #PHP
PHP中大括号'{}'用法实例总结
Feb 08 #PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 #PHP
php实现连接access数据库并转txt写入的方法
Feb 08 #PHP
php unicode编码和字符串互转的方法
Aug 12 #PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 #PHP
一键生成各种尺寸Icon的php脚本(实例)
Feb 08 #PHP
You might like
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
php支付宝手机网页支付类实例
2015/03/04 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
搭建pomelo 开发环境
2014/06/24 Javascript
jQuery点缩略图弹出层显示大图片
2015/02/13 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
webpack打包nodejs项目的方法
2018/09/26 NodeJs
如何正确理解vue中的key详解
2019/11/02 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
利用Python求阴影部分的面积实例代码
2018/12/05 Python
Django JWT Token RestfulAPI用户认证详解
2019/01/23 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
深入浅析Python代码规范性检测
2020/07/31 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
2014/05/07 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
企业诚信承诺书
2014/05/23 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS
Python机器学习之底层实现KNN
2021/06/20 Python