bookstore.xml
<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
1.添加
<?php
$sxe = simplexml_load_file('bookstore.xml');
//添加book节点
$new_book = $sxe->addChild('book');
//book节点添加属性
$new_book->addAttribute('category','武侠');
//book节点下添加节点
$new_title = $new_book->addChild('title','神雕侠侣');
$new_title->addAttribute('lang','zh-cn');
$new_autor = $new_book->addChild('autor','金庸');
$new_year = $new_book->addChild('year','1980');
$new_price = $new_book->addChild('price','8');
//保存到指定文件
$sxe->asXML('sxe_insert.xml');
观察$sxe对象:
$sxe = simplexml_load_file('bookstore.xml');
var_dump($sxe);
2.删除
<?php
$sxe = simplexml_load_file('bookstore.xml');
//删除所有price节点
foreach ($sxe->book as $book){
unset($book->price);//删除对象的属性
}
$sxe->asXML('sxe_delete.xml');
3.修改
<?php
$sxe = simplexml_load_file('bookstore.xml');
//所有书价格打八折
foreach ($sxe->book as $book){
$book->price *=0.8;
}
$sxe->asXML('sxe_update.xml');
4.查询
<?php
//三种创建方式
// simplexml_load_file($filename)
// simplexml_load_string($data)
$sxe = simplexml_load_file('bookstore.xml');
$table = '';
$table.= "<table border='1'>";
$table.= "<tr><th>title</th><th>author</th><th>year</th><th>price</th></tr>";
//获取所有book节点的信息
foreach ($sxe->book as $book){
$table.="<tr>";
$table.="<td>{$book->title}</td>";
$table.="<td>{$book->author}</td>";
$table.="<td>{$book->year}</td>";
$table.="<td>{$book->price}</td>";
$table.="</tr>";
}
$table.= "</table>";
echo $table;
//获取第一个book节点的属性
foreach($sxe->book[0]->attributes() as $k=>$v){
echo $k,'=',$v;
}
查询运行: