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 相关文章推荐
php4的session功能评述(二)
Oct 09 PHP
IIS+PHP+MySQL+Zend配置 (视频教程)
Dec 13 PHP
关于mysql 字段的那个点为是定界符
Jan 15 PHP
php空间不支持socket但支持curl时recaptcha的用法
Nov 07 PHP
2个Codeigniter文件批量上传控制器写法例子
Jul 25 PHP
PHP实现批量修改文件后缀名的方法
Jul 30 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
PHP实现简单计算器小程序
Aug 28 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 PHP
PHP+redis实现微博的拉模型案例详解
Jul 10 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 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
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
浅析PHP Socket技术
2013/08/02 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
JavaScript实现alert弹框效果
2020/11/19 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
Python中的连接符(+、+=)示例详解
2017/01/13 Python
python实现简单颜色识别程序
2020/02/19 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
简述 Python 的类和对象
2020/08/21 Python
Python Map 函数的使用
2020/08/28 Python
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
新农村建设典型材料
2014/05/31 职场文书
民政局副局长民主生活会个人整改措施
2014/10/04 职场文书
收银员岗位职责
2015/02/03 职场文书
升学宴来宾致辞
2015/07/27 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
Django+Celery实现定时任务的示例
2021/06/23 Python