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 相关文章推荐
别人整理的服务器变量:$_SERVER
Oct 20 PHP
按上下级层次关系输出内容的PHP代码
Jul 17 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
PHP中浮点数计算比较及取整不准确的解决方法
Jan 09 PHP
8个PHP数组面试题
Jun 23 PHP
PHP新建类问题分析及解决思路
Nov 19 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 PHP
详解yii2使用多个数据库的案例
Jun 16 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
Jun 30 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
Oct 12 PHP
php抽象方法和普通方法的区别点总结
Oct 13 PHP
thinkphp5实现微信扫码支付
Dec 23 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/09/30 PHP
Laravel 5 框架入门(一)
2015/04/09 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
最全的Javascript编码规范(推荐)
2016/06/22 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
JavaScript实现美化滑块效果
2019/05/17 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
python getopt 参数处理小示例
2009/06/09 Python
利用python代码写的12306订票代码
2015/12/20 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
python pandas中对Series数据进行轴向连接的实例
2018/06/08 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
python中reload重载实例用法
2020/12/15 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
高分子材料与工程专业个人求职信
2013/12/15 职场文书
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
竞选学委演讲稿
2014/09/13 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
Python-OpenCV实现图像缺陷检测的实例
2021/06/11 Python
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电