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函数解决SQL injection
Oct 09 PHP
用php+javascript实现二级级联菜单的制作
May 06 PHP
PHP中extract()函数的妙用分析
Jul 11 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 PHP
php生成zip压缩文件的方法详解
Jun 09 PHP
php实例分享之mysql数据备份
May 19 PHP
smarty中常用方法实例总结
Aug 07 PHP
CI映射(加载)数据到view层的方法
Mar 28 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
php的无刷新操作实现方法分析
Feb 28 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 PHP
php判断数组是否为空的实例方法
May 10 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边学边教》(01.开篇――准备工作)
2006/12/13 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
2013/06/03 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
Javascript 实用小技巧
2010/04/07 Javascript
jquery中对表单的基本操作代码
2010/07/29 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
Element-ui el-tree新增和删除节点后如何刷新tree的实例
2020/08/31 Javascript
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
selenium+python设置爬虫代理IP的方法
2018/11/29 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
路政管理专业推荐信
2013/11/11 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
环保宣传标语
2014/06/12 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
英文版辞职信
2015/02/28 职场文书
工作证明书
2015/06/15 职场文书
卫生主题班会
2015/08/14 职场文书
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android