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 相关文章推荐
php网站来路获取代码(针对搜索引擎)
Jun 08 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
Mar 26 PHP
php上传文件中文文件名乱码的解决方法
Nov 01 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
Apr 19 PHP
php生成短网址示例
May 05 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
php中二分法查找算法实例分析
Sep 22 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP常见数组排序方法小结
Aug 20 PHP
php语法检查的方法总结
Jan 21 PHP
Laravel 验证码认证学习记录小结
Dec 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
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
js 链式延迟执行DOME
2012/01/04 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
JS 页面计时器示例代码
2013/10/28 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
JQuery中Bind()事件用法分析
2015/05/05 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
基于Angularjs实现分页功能
2016/05/30 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
2017/01/06 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
2018/03/03 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
linux面试题参考答案(7)
2012/10/29 面试题
英语专业个人求职自荐信
2013/09/21 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
2014年采购部工作总结
2014/11/20 职场文书
财政局个人年终总结
2015/03/03 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS