PHP對XML內容進行修改和刪除執行個體代碼_php技巧

來源:互聯網
上載者:User

本文主要介紹的是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>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有疑問大家可以留言交流。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.