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函数
May 31 PHP
php Smarty初体验二 获取配置信息
Aug 08 PHP
php中防止恶意刷新页面的代码小结
Oct 31 PHP
深入php多态的实现详解
Jun 09 PHP
一个PHP二维数组排序的函数分享
Jan 17 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
CI(CodeIgniter)框架配置
Jun 10 PHP
PHP5.2下preg_replace函数的问题
May 08 PHP
PHP简单读取xml文件的方法示例
Apr 20 PHP
实例分析PHP中PHPMailer发邮件
Dec 13 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
Apr 11 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
JAVA/JSP学习系列之七
2006/10/09 PHP
实用函数5
2007/11/08 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
setInterval 和 setTimeout会产生内存溢出
2008/02/15 Javascript
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
英文版银行求职信
2013/10/09 职场文书
《自然之道》教学反思
2014/02/11 职场文书
超市中秋节活动方案
2014/02/12 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
运动会5000米加油稿
2015/07/21 职场文书
六年级作文之预言作文
2019/10/25 职场文书