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 相关文章推荐
10条PHP编程习惯助你找工作
Sep 29 PHP
PHP中全面阻止SQL注入式攻击分析小结
Jan 30 PHP
wamp下修改mysql访问密码的解决方法
May 07 PHP
php在window iis的莫名问题的测试方法
May 14 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
Apr 09 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
May 04 PHP
php中替换字符串中的空格为逗号','的方法
Jun 09 PHP
深入浅析php json 格式控制
Dec 24 PHP
mac下多个php版本快速切换的方法
Oct 09 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
Jun 28 PHP
PHP实现提取多维数组指定一列的方法总结
Dec 04 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 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加速 eAccelerator配置和使用指南
2009/06/05 PHP
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
几个有趣的Javascript Hack
2010/07/24 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
javascript回到顶部特效
2016/07/30 Javascript
jQuery实现搜索页面关键字的功能
2017/02/16 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
2017/08/24 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
扫微信小程序码实现网站登陆实现解析
2019/08/20 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
Pyhton中防止SQL注入的方法
2015/02/05 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
python邮件发送smtplib使用详解
2020/06/16 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
2020/02/20 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
卫校护理专业毕业生求职信
2013/11/26 职场文书
自我评价的写作规则
2014/01/06 职场文书
农民工讨薪标语
2014/06/26 职场文书
化学工程专业求职信
2014/08/10 职场文书
2014年医生工作总结
2014/11/21 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js