PHP对XML内容进行修改和删除实例代码

 更新时间:2016年10月26日 10:00:57   投稿:daisy   我要评论
这篇文章给大家主要介绍了利用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读写文件高并发处理操作实例详解

    这篇文章主要介绍了PHP读写文件高并发处理操作,结合实例形式较为详细的分析了php高并发访问读写操作相关处理操作技巧,需要的朋友可以参考下
    2018-03-03
  • PHP中两个float(浮点数)比较实例分析

    PHP中两个float(浮点数)比较实例分析

    这篇文章主要介绍了PHP中两个float(浮点数)比较,以完整实例形式分析了bccomp函数用于浮点数比较的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • PHPStorm+XDebug进行调试图文教程

    PHPStorm+XDebug进行调试图文教程

    这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 学习php设计模式 php实现装饰器模式(decorator)

    学习php设计模式 php实现装饰器模式(decorator)

    这篇文章主要介绍了php设计模式中的装饰模式,使用php实现装饰模式,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • PHP $_FILES中error返回值详解

    PHP $_FILES中error返回值详解

    用PHP上传文件时,我们会用程序去监听浏览器发送过来的文件信息,首先会通 过$_FILES[fieldName]['error']的不同数值来判断此欲上传的文件状态是否正常。$_FILES[fieldName] ['error']==0代表一切正常,其它数值的具体含义请参考下面一段程序的注释部分,如有翻译不到之处还望指正
    2014-01-01
  • php配置php-fpm启动参数及配置详解

    php配置php-fpm启动参数及配置详解

    php-fpm 启动参数及重要配置详解,这个不用多说,做PHP开发的同学都需要用。
    2013-11-11
  • php根据日期显示所在星座的方法

    php根据日期显示所在星座的方法

    这篇文章主要介绍了php根据日期显示所在星座的方法,涉及php针对日期操作与流程控制的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • PHP实现无限极分类的两种方式示例【递归和引用方式】

    PHP实现无限极分类的两种方式示例【递归和引用方式】

    这篇文章主要介绍了PHP实现无限极分类的两种方式,结合实例形式分析了php基于递归和引用方式进行数组遍历的相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • php页面缓存ob系列函数介绍

    php页面缓存ob系列函数介绍

    这几天接触了phpcms的页面缓存,有些感触。其好处就不多说了,它一般是用在金沙国际官网查询较多的页面中,对于插入修改删除的页面就不大合适了
    2012-10-10
  • PHP 多维数组排序实现代码

    PHP 多维数组排序实现代码

    PHP 多维数组排序实现代码,需要的朋友可以参考下。
    2009-08-08

最新评论