当前位置:Gxlcms > PHP教程 > PHP对XML内容进行修改和删除实例代码

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

时间:2021-07-01 10:21:17 帮助过:10人阅读

本文主要介绍的是PHP对XML内容进行修改和删除的方法,下面话不多说,我们来看实例

原理图如下

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

示例代码

example.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <root>
  3. <book id="1">
  4. <title>title1</title>
  5. </book>
  6. <book id="2">
  7. <title>title2</title>
  8. </book>
  9. <book id="3">
  10. <title>title3</title>
  11. </book>
  12. <book id="4">
  13. <title>title4</title>
  14. </book>
  15. <book id="5">
  16. <title>title5</title>
  17. </book>
  18. </root>

首先遍历一下该xml文档

  1. <?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. 1-title1
  2. 2-title2
  3. 3-title3
  4. 4-title4
  5. 5-title5

修改:

  1. <?php
  2. $doc = new DOMDocument();
  3. $doc->load('example.xml');
  4. $books = $doc -> getElementsByTagName("book");
  5. //遍历
  6. foreach ($books as $book) {
  7. //将id=3的title设置为33333
  8. if($book->getAttribute('id')==3){
  9. echo $book->getAttribute('id')."-";
  10. echo $book->getElementsByTagName("title")->item(0)->nodeValue="33333";
  11. echo "<br>";
  12. }
  13. }
  14. //对文件做修改后,一定要记得重新sava一下,才能修改掉原文件
  15. $doc -> save('example.xml');

修改之后为:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <root>
  3. <book id="1">
  4. <title>title1</title>
  5. </book>
  6. <book id="2">
  7. <title>title2</title>
  8. </book>
  9. <book id="3">
  10. <title>33333</title>
  11. </book>
  12. <book id="4">
  13. <title>title4</title>
  14. </book>
  15. <book id="5">
  16. <title>title5</title>
  17. </book>
  18. </root>

删除操作:

  1. <?php
  2. $doc = new DOMDocument();
  3. $doc->load('example.xml');
  4. $root = $doc -> documentElement;//根标签
  5. $books = $doc -> getElementsByTagName("book");
  6. //遍历
  7. foreach ($books as $book) {
  8. //将id=4的删除
  9. if($book->getAttribute('id')==4){
  10. $root->removeChild($book);
  11. }
  12. }
  13. //对文件做修改后,一定要记得重新sava一下,才能修改掉原文件
  14. $doc -> save('example.xml');

删除后的结果为:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <root>
  3. <book id="1">
  4. <title>title1</title>
  5. </book>
  6. <book id="2">
  7. <title>title2</title>
  8. </book>
  9. <book id="3">
  10. <title>33333</title>
  11. </book>
  12. <book id="5">
  13. <title>title5</title>
  14. </book>
  15. </root>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

更多PHP对XML内容进行修改和删除实例代码相关文章请关注PHP中文网!

人气教程排行