|
在php5中讀寫(xiě)xml文檔是非常方便的,可以直接使用php的SimpleXML方法來(lái)快速解析與生成xml格式的文件,下面舉例說(shuō)明:
創(chuàng)建一個(gè)SimpleXML對(duì)象有三種方法:
1.使用new關(guān)鍵字創(chuàng)建
復(fù)制代碼 代碼如下:
$xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item>
<item><id>2</id><name>bbb</name><age>26</age></item></personinfo>";
$rss=new SimpleXMLElement($xml);
2.使用simplexml_load_string()創(chuàng)建
復(fù)制代碼 代碼如下:
$xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item>
<item><id>2</id><name>bbb</name><age>26</age></item></personinfo>";
$rss=simplexml_load_string($xml);
3.使用simplexml_load_file()從一個(gè)URL創(chuàng)建
復(fù)制代碼 代碼如下:
$rss=simplexml_load_file("rss.xml");
//或者:
$rss=simplexml_load_file("/rss.xml");//遠(yuǎn)程文檔
具體實(shí)例如下:
復(fù)制代碼 代碼如下:
<?php
$xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item><item><id>2</id><name>bbb</name><age>26</age></item></personinfo>";
$rss=new SimpleXMLElement($xml);
foreach($rss->item as $v){
echo $v->name,'<br />';
}
echo $rss->item[1]->age;//讀取數(shù)據(jù)
echo '<hr>';
$rss->item[1]->name='ccc';//修改數(shù)據(jù)
foreach($rss->item as $v){
echo $v->name,' <br /> ';//aaa <br /> ccc <br />
}
echo '<hr>';
unset($rss->item[1]);//輸出數(shù)據(jù)
foreach($rss->item as $k=>$v){
echo $v->name,' <br /> ';//aaa <br />
}
echo '<hr>';
//添加數(shù)據(jù)
$item=$rss->addChild('item');
$item->addChild('id','3');
$item->addChild('name','ccc_new');
$item->addChild('age','40');
foreach($rss->item as $k=>$v){
echo $v->name,' <br /> ';//aaa <br /> ccc_new <br />
}
$rss->asXML('personinfo.xml');
?>
進(jìn)一步分析上面例子如下:
復(fù)制代碼 代碼如下:
//xml數(shù)據(jù)的讀取
//可以直接通過(guò)元素的名稱來(lái)訪問(wèn)特定的元素。文檔中的所有元素都被看成是該對(duì)象的屬性。
foreach($rss->item as $v){
echo $v->name,' <br /> ';//aaa <br /> bbb <br />
}
echo $rss->item[1]->age;//26
//xml數(shù)據(jù)修改,可以直接利用對(duì)象屬性賦值的方法來(lái)直接編輯一個(gè)元素的內(nèi)容
$rss->item[1]->name='ccc';//修改數(shù)據(jù)
foreach($rss->item as $v){
echo $v->name,' <br /> ';//aaa <br /> ccc <br />
}
//可以用php內(nèi)容函數(shù)unset來(lái)將一個(gè)元素從樹(shù)中刪除
unset($rss->item[1]);
foreach($rss->item as $v){
echo $v->name,' <br /> ';//a www.jb51.NET aa <br />
}
//xml添加元素?cái)?shù)據(jù),可通過(guò)對(duì)象的addChild方法來(lái)實(shí)現(xiàn)
$item=$rss->addChild('item');
$item->addChild('id','3');
$item->addChild('name','ccc_new');
$item->addChild('age','40');
foreach($rss->item as $k=>$v){
echo $v->name,' <br /> ';//aaa <br /> ccc_new <br />
}
//xml數(shù)據(jù)的存儲(chǔ)
//使用對(duì)象的asXML()方法
$rss->asXML('personinfo.xml');//將xml數(shù)據(jù)存儲(chǔ)到personinfo.xml文件中
php技術(shù):php的SimpleXML方法讀寫(xiě)XML接口文件實(shí)例解析,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。