PHP下進行XML操作(創建、讀取)


PHP下可以使用DOMDocument類對XML或者HTML文件進行讀寫操作

更為簡單的方法使用simpleXML類操作XML

DOM節點分為

  1. 元素節點
  2. 屬性節點
  3. 值節點
  4. 注釋節點
  5. 根節點(document才是根節點)

 

生成XML文件

 

<?xml version="1.0" encoding="utf-8"?>
<books>
    <book type="科幻小說">
        <name>三體0</name>
        <auth>劉慈欣</auth>
    </book>
    <book type="科幻小說">
        <name>三體1</name>
        <auth>劉慈欣</auth>
    </book>
</books>

 

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><books/>');    //創建根節點
for($i = 0 ; $i < 10 ; $i ++){
    $book = $xml -> addChild('book');     //添加子節點
    $book -> addAttribute('type','科幻小說');    //為子節點添加屬性
    $book -> addChild('name','三體'.$i);    //創建值節點
    $book -> addChild('auth','劉慈欣');
}
$xml -> asXML('book.xml');    //保存

 

讀取XML文件

$content = file_get_contents('book.xml');
$xml = new SimpleXMLElement($content);
// $xml中將xml文件轉換成的數組,可以直接通過$xml->book訪問其下節點
foreach ($xml -> book as $book) {
    $attr = $book -> attributes();    //返回的是一個數字
    echo $book -> name ;
    echo $book -> auth ;
    echo "</br>";
}

修改

$content = file_get_contents('book.xml');
$xml = new SimpleXMLElement($content);
// $xml中將xml文件轉換成的數組,可以直接通過$xml->book訪問其下節點
foreach ($xml -> book as $book) {
    $attr = $book -> attributes();    //返回的是一個數字
    $book -> name = "變形金剛";
}
$xml -> saveXML('book.xml');

刪除

$content = file_get_contents('book.xml');
$xml = new SimpleXMLElement($content);
// $xml中將xml文件轉換成的數組,可以直接通過$xml->book訪問其下節點
for($i = count($xml -> book) - 1 ;$i >= 0 ; $i --){
    unset($xml -> book[$i]);
}
$xml -> saveXML('book.xml');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM