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 计算两个时间戳相隔的时间的函数(小时)
Dec 18 PHP
网站用php实现paypal整合方法
Nov 28 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
PHP 年龄计算函数(精确到天)
Jun 07 PHP
基于php设计模式中单例模式的应用分析
May 15 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
PHP如何使用Memcached
Apr 05 PHP
php利用递归实现删除文件目录的方法
Sep 23 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
Dec 09 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
Jan 20 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
php常用字符串查找函数strstr()与strpos()实例分析
Jun 21 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生成xml时添加CDATA标签的方法
2014/10/17 PHP
深入解析WordPress中加载模板的get_template_part函数
2016/01/11 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
jQuery取消特定的click事件
2016/02/29 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
vue如何使用 Slot 分发内容实例详解
2017/09/05 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
编写v-for循环的技巧汇总
2020/12/01 Javascript
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
Python处理文本文件中控制字符的方法
2017/02/07 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
如何使用python进行pdf文件分割
2019/11/11 Python
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
您附近的水疗和健康场所:Spafinder(美国)
2019/07/05 全球购物
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
Servlet方面面试题
2016/09/28 面试题
客户服务经理岗位职责
2014/01/29 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
Mysql 如何查询时间段交集
2021/06/08 MySQL
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL
MySQL深分页问题解决思路
2022/12/24 MySQL