PHP对XML内容进行修改和删除实例代码


Posted in PHP onOctober 26, 2016

本文主要介绍的是PHP对XML内容进行修改和删除的方法,下面话不多说,我们来看实例

原理图如下

PHP对XML内容进行修改和删除实例代码

示例代码

example.xml

<?xml version="1.0" encoding="utf-8"?>
<root>
 <book id="1">
  <title>title1</title>
 </book>
 <book id="2">
  <title>title2</title>
 </book>
 <book id="3">
  <title>title3</title>
 </book>
 <book id="4">
  <title>title4</title>
 </book>
 <book id="5">
  <title>title5</title>
 </book>
</root>

首先遍历一下该xml文档

<?php $doc = new DOMDocument(); $doc->load('example.xml'); $books = $doc -> getElementsByTagName("book"); //遍历 foreach ($books as $book) { echo $book->getAttribute('id')."-"; echo $book->getElementsByTagName("title")->item(0)->nodeValue; echo "<br>"; }

运行结果为:

1-title1 
2-title2 
3-title3 
4-title4 
5-title5

修改:

<?php

 $doc = new DOMDocument();
 $doc->load('example.xml');

 $books = $doc -> getElementsByTagName("book");
 //遍历
 foreach ($books as $book) {
  //将id=3的title设置为33333
  if($book->getAttribute('id')==3){
   echo $book->getAttribute('id')."-";
   echo $book->getElementsByTagName("title")->item(0)->nodeValue="33333";
   echo "<br>";
  }
 }
 //对文件做修改后,一定要记得重新sava一下,才能修改掉原文件
 $doc -> save('example.xml');

修改之后为:

<?xml version="1.0" encoding="utf-8"?>
<root>
 <book id="1">
  <title>title1</title>
 </book>
 <book id="2">
  <title>title2</title>
 </book>
 <book id="3">
  <title>33333</title>
 </book>
 <book id="4">
  <title>title4</title>
 </book>
 <book id="5">
  <title>title5</title>
 </book>
</root>

删除操作:

<?php

 $doc = new DOMDocument();
 $doc->load('example.xml');

 $root = $doc -> documentElement;//根标签 
 $books = $doc -> getElementsByTagName("book");
 //遍历
 foreach ($books as $book) {
  //将id=4的删除
  if($book->getAttribute('id')==4){
   $root->removeChild($book);
  }
 }
 //对文件做修改后,一定要记得重新sava一下,才能修改掉原文件
 $doc -> save('example.xml');

删除后的结果为:

<?xml version="1.0" encoding="utf-8"?>
<root>
 <book id="1">
  <title>title1</title>
 </book>
 <book id="2">
  <title>title2</title>
 </book>
 <book id="3">
  <title>33333</title>
 </book>

 <book id="5">
  <title>title5</title>
 </book>
</root>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

PHP 相关文章推荐
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
Jun 05 PHP
PHP模块 Memcached功能多于Memcache
Jun 14 PHP
php使用json_encode对变量json编码
Apr 07 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
Oct 15 PHP
php生成固定长度纯数字编码的方法
Jul 09 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
PHP在线打包下载功能示例
Oct 15 PHP
PHP 微信扫码支付源代码(推荐)
Nov 03 PHP
php版阿里云OSS图片上传类详解
Dec 01 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
Jul 03 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
Apr 06 PHP
php array_merge_recursive 数组合并
Oct 26 #PHP
php抛出异常与捕捉特定类型的异常详解
Oct 26 #PHP
php array_map使用自定义的函数处理数组中的每个值
Oct 26 #PHP
AES加解密在php接口请求过程中的应用示例
Oct 26 #PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
Oct 25 #PHP
在Thinkphp中使用ajax实现无刷新分页的方法
Oct 25 #PHP
PHP上传Excel文件导入数据到MySQL数据库示例
Oct 25 #PHP
You might like
PHP统计二维数组元素个数的方法
2013/11/12 PHP
thinkphp微信开发(消息加密解密)
2015/12/02 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
jquery ready函数源代码研究
2009/12/06 Javascript
js输出列表实现代码
2010/09/12 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
深入了解Django中间件及其方法
2019/07/26 Python
python是否适合网页编程详解
2019/10/04 Python
Python中的list与tuple集合区别解析
2019/10/12 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
理工类毕业自我鉴定
2014/02/20 职场文书
厉行勤俭节约倡议书
2014/05/16 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
财务会计实训报告
2014/11/05 职场文书
亮剑观后感
2015/06/05 职场文书
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
js 数组 fill() 填充方法
2021/11/02 Javascript
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python