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 相关文章推荐
WHOIS类的修改版
Oct 09 PHP
PHP缓存技术的多种方法小结
Aug 14 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
php 注册时输入信息验证器的实现详解
Jul 05 PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 PHP
phpstrom使用xdebug配置方法
Dec 17 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
Nov 22 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
golang与php实现计算两个经纬度之间距离的方法
Jul 22 PHP
php curl中gzip的压缩性能测试实例分析
Nov 08 PHP
tp5.1 框架join方法用法实例分析
May 26 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中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
python定时检查某个进程是否已经关闭的方法
2015/05/20 Python
Php多进程实现代码
2018/05/07 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
python调用并链接MATLAB脚本详解
2019/07/05 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
澳洲CFL商城:CHEMIST FOR LESS(中文)
2021/02/28 全球购物
杭州联环马网络笔试题面试题
2013/08/04 面试题
EJB timer的种类
2014/10/28 面试题
单位授权委托书范本
2014/09/26 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
区域经理岗位职责
2015/02/02 职场文书
污水处理保证书
2015/05/09 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android
详解CSS3浏览器兼容
2022/12/24 HTML / CSS