您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页php如何修改xml内容

php如何修改xml内容

来源:五一七教育网


推荐:《PHP视频教程》

例如:

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>

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务