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 相关文章推荐
php基础知识:类与对象(4) 范围解析操作符(::)
Dec 13 PHP
PHP开发需要注意的安全问题
Sep 01 PHP
PHP 调试工具Debug Tools
Apr 30 PHP
无JS,完全php面向过程数据分页实现代码
Aug 27 PHP
php模板函数 正则实现代码
Oct 15 PHP
php xml常用函数的集合(比较详细)
Jun 06 PHP
ThinkPHP模板Switch标签用法示例
Jun 30 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
Jan 03 PHP
Yii列表定义与使用分页方法小结(3种方法)
Jul 15 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
May 27 PHP
php下的原生ajax请求用法实例分析
Feb 28 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中字符集转换iconv函数使用总结
2014/10/11 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
js切换光标示例代码
2013/10/10 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
原生JS无缝滑动轮播图
2019/10/22 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
pyramid配置session的方法教程
2013/11/27 Python
Python入门篇之编程习惯与特点
2014/10/17 Python
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
Python 如何提高元组的可读性
2019/08/26 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
Python实现区域填充的示例代码
2021/02/03 Python
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
会计工作心得体会
2014/01/13 职场文书
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
ktv筹备计划书
2014/05/03 职场文书
辅导员评语
2014/05/04 职场文书
保卫工作个人总结
2015/03/03 职场文书
离婚协议书格式范本
2016/03/18 职场文书
Python OpenCV实现图形检测示例详解
2022/04/08 Python
MySQL创建管理RANGE分区
2022/04/13 MySQL
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技