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 相关文章推荐
怎么使 Mysql 数据同步
Oct 09 PHP
PHP数据类型之布尔型的介绍
Apr 28 PHP
php遍历目录与文件夹的多种方法详解
Nov 14 PHP
phpQuery让php处理html代码像jQuery一样方便
Jan 06 PHP
php计算给定时间之前的函数用法实例
Apr 03 PHP
必须收藏的23个php实用代码片段
Feb 02 PHP
PHP打印输出函数汇总
Aug 28 PHP
php简单压缩css样式示例
Sep 22 PHP
PHP简单实现二维数组的矩阵转置操作示例
Nov 24 PHP
yii2安装详细流程
May 23 PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 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
2020最新CPU的性能排名
2020/04/02 数码科技
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
2014/04/09 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
Jquery常用技巧收集整理篇
2010/11/14 Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
python 七种邮件内容发送方法实例
2014/04/22 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
python修改文件内容的3种方法详解
2019/11/15 Python
python实现高斯(Gauss)迭代法的例子
2019/11/20 Python
python 两种方法删除空文件夹
2020/09/29 Python
结合CSS3的新特性来总结垂直居中的实现方法
2016/05/30 HTML / CSS
英国最大的百货公司:Harrods
2016/08/18 全球购物
建筑施工实习自我鉴定
2013/09/19 职场文书
幼儿园教学随笔感言
2014/02/23 职场文书
学员自我鉴定
2014/03/19 职场文书
三年级班级文化建设方案
2014/05/04 职场文书
生物技术专业求职信
2014/06/10 职场文书
2014年教师党员自我评价范文
2014/09/22 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
会议接待欢迎标语
2014/10/08 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
Mysql文件存储图文详解
2021/06/01 MySQL