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新手上路(二)
Oct 09 PHP
PHP处理excel cvs表格的方法实例介绍
May 13 PHP
smarty模板中拼接字符串的方法
Feb 14 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
May 07 PHP
php实例分享之html转为rtf格式
Jun 02 PHP
php连接odbc数据源并保存与查询数据的方法
Dec 24 PHP
php使用curl简单抓取远程url的方法
Mar 13 PHP
php实现将任意进制数转换成10进制的方法
Apr 17 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
PHP实现的mongoDB数据库操作类完整实例
Apr 10 PHP
微信公众平台开发教程②微信端分享功能图文详解
Apr 10 PHP
laravel http 自定义公共验证和响应的方法
Sep 29 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中mysql与mysqli的区别分析
2013/06/10 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
2013/06/25 PHP
PHP中COOKIES使用示例
2015/07/26 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
功能强大的php文件上传类
2016/08/29 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
python实现年会抽奖程序
2019/01/22 Python
人工神经网络算法知识点总结
2019/06/11 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
会计应届生的自荐信
2013/12/13 职场文书
网吧收银员岗位职责
2013/12/14 职场文书
自我评价范文分享
2014/01/04 职场文书
自查自纠工作总结
2014/10/15 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis
java解析XML详解
2021/07/09 Java/Android