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 相关文章推荐
mysql5的sql文件导入到mysql4的方法
Oct 19 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
Jun 07 PHP
基于PHP遍历数组的方法汇总分析
Jun 08 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
Jun 29 PHP
二进制交叉权限微型php类分享
Feb 07 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
php微信开发之谷歌测距
Jun 14 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
Oct 20 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
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
layui表单验证select下拉框实现验证的方法
2019/09/05 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
用Python从零实现贝叶斯分类器的机器学习的教程
2015/03/31 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
python基本语法练习实例
2017/09/19 Python
python三方库之requests的快速上手
2019/03/04 Python
Python 如何提高元组的可读性
2019/08/26 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
爱尔兰最大的体育零售商:Life Style Sports
2019/06/12 全球购物
业务经理的岗位职责
2013/11/16 职场文书
医院辞职信范文
2014/01/17 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
2014年国庆标语
2014/06/30 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python
深入浅析React中diff算法
2021/05/19 Javascript
python 如何用terminal输入参数
2021/05/25 Python
Python中递归以及递归遍历目录详解
2021/10/24 Python
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android