PHP基于DOM创建xml文档的方法示例

发布时间 - 2026-01-10 22:55:47    点击率:

本文实例讲述了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();
*/
?>

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools./code/xmljson

在线格式化XML/在线压缩XML
http://tools./code/xmlformat

XML在线压缩/格式化工具:
http://tools./code/xml_format_compress

XML代码在线格式化美化工具:
http://tools./code/xmlcodeformat

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。


# PHP  # DOM  # 创建  # xml文档  # php simplexmlElement操作xml的命名空间实现代码  # PHP XML操作类DOMDocument  # php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)  # PHP使用DOMDocument类生成HTML实例(包含常见标签元素)  # PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案  # PHP基于DOMDocument解析和生成xml的方法分析  # PHP实现动态创建XML文档的方法  # PHP创建XML接口示例  # PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】  # 文档  # 一本  # 操作技巧  # 程序设计  # 相关内容  # 感兴趣  # 给大家  # 既可  # 更多关于  # 所述  # 几款  # 面向对象  # 过程中  # 转换工具  # 再为  # 象中  # 文档格式  # 讲述了  # CDATA  # 是金庸写 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  如何用PHP工具快速搭建高效网站?  如何快速搭建高效可靠的建站解决方案?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何在万网自助建站中设置域名及备案?  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何制作一个表白网站视频,关于勇敢表白的小标题?  西安专业网站制作公司有哪些,陕西省建行官方网站?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  七夕网站制作视频,七夕大促活动怎么报名?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  简历在线制作网站免费版,如何创建个人简历?  如何快速搭建自助建站会员专属系统?  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  js代码实现下拉菜单【推荐】  Laravel如何自定义分页视图?(Pagination示例)  Laravel如何处理异常和错误?(Handler示例)  如何在 React 中条件性地遍历数组并渲染元素  nodejs redis 发布订阅机制封装实现方法及实例代码  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  网站制作软件免费下载安装,有哪些免费下载的软件网站?  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  新三国志曹操传主线渭水交兵攻略  如何在万网开始建站?分步指南解析  如何快速搭建高效WAP手机网站吸引移动用户?  iOS中将个别页面强制横屏其他页面竖屏  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Python面向对象测试方法_mock解析【教程】  Laravel如何发送系统通知?(Notification渠道示例)  如何快速上传建站程序避免常见错误?  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  php485函数参数是什么意思_php485各参数详细说明【介绍】  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel观察者模式如何使用_Laravel Model Observer配置  如何实现javascript表单验证_正则表达式有哪些实用技巧  原生JS实现图片轮播切换效果  如何在阿里云部署织梦网站?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  微信小程序 canvas开发实例及注意事项  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  如何登录建站主机?访问步骤全解析  浅谈Javascript中的Label语句  如何用IIS7快速搭建并优化网站站点?  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  如何用AI帮你把自己的生活经历写成一个有趣的故事?  PHP正则匹配日期和时间(时间戳转换)的实例代码  Firefox Developer Edition开发者版本入口  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】