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 引用(&amp;)详解
Nov 20 PHP
php 获取客户端的真实ip
Nov 30 PHP
PHP中PDO基础教程 入门级
Sep 04 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
php字符串分割函数explode的实例代码
Feb 07 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
解析php如何将日志写进syslog
Jun 28 PHP
php array_map使用自定义的函数处理数组中的每个值
Oct 26 PHP
通过源码解析Laravel的依赖注入
Jan 22 PHP
PHP filesize函数用法浅析
Feb 15 PHP
php解压缩zip和rar压缩包文件的方法
Jul 10 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
Oct 09 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/18 PHP
php定时执行任务设置详解
2015/02/06 PHP
php判断目录存在的简单方法
2019/09/26 PHP
jquery 学习笔记一
2010/04/07 Javascript
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
VUE页面中加载外部HTML的示例代码
2017/09/20 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
js实现随机8位验证码
2020/07/24 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
python轻松实现代码编码格式转换
2015/03/26 Python
Python while 循环使用的简单实例
2016/06/08 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
python datetime处理时间小结
2020/04/16 Python
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
少先队学雷锋活动月总结
2014/03/09 职场文书
乡镇干部个人对照检查材料(群众路线)
2014/09/26 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
小学生安全教育心得体会
2016/01/15 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android