php的SimpleXML方法讀寫XML接口文件實(shí)例解析
在php5中讀寫xml文檔是非常方便的,可以直接使用php的SimpleXML方法來快速解析與生成xml格式的文件,下面舉例說明:
創(chuàng)建一個(gè)SimpleXML對(duì)象有三種方法:
1.使用new關(guān)鍵字創(chuàng)建
$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)建
$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)建
$rss=simplexml_load_file("rss.xml");
//或者:
$rss=simplexml_load_file("/rss.xml");//遠(yuǎn)程文檔
具體實(shí)例如下:
<?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)一步分析上面例子如下:
//xml數(shù)據(jù)的讀取
//可以直接通過元素的名稱來訪問特定的元素。文檔中的所有元素都被看成是該對(duì)象的屬性。
foreach($rss->item as $v){
echo $v->name,' <br /> ';//aaa <br /> bbb <br />
}
echo $rss->item[1]->age;//26
//xml數(shù)據(jù)修改,可以直接利用對(duì)象屬性賦值的方法來直接編輯一個(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來將一個(gè)元素從樹中刪除
unset($rss->item[1]);
foreach($rss->item as $v){
echo $v->name,' <br /> ';//a www.dbjr.com.cn aa <br />
}
//xml添加元素?cái)?shù)據(jù),可通過對(duì)象的addChild方法來實(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文件中
相關(guān)文章
解析posix與perl標(biāo)準(zhǔn)的正則表達(dá)式區(qū)別
本篇文章是對(duì)posix與perl標(biāo)準(zhǔn)的正則表達(dá)式區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP獲取鏈表中倒數(shù)第K個(gè)節(jié)點(diǎn)的方法
這篇文章主要介紹了PHP獲取鏈表中倒數(shù)第K個(gè)節(jié)點(diǎn)的方法,涉及php針對(duì)鏈表的遍歷、判斷等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01php max_execution_time執(zhí)行時(shí)間問題
大部分PHP代碼執(zhí)行時(shí)間都不會(huì)很久。但是有些時(shí)候,比如等待圖片上傳,可能執(zhí)行時(shí)間過長(zhǎng)導(dǎo)致超時(shí)。2011-07-07PHP實(shí)現(xiàn)統(tǒng)計(jì)所有字符在字符串中出現(xiàn)次數(shù)的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)統(tǒng)計(jì)所有字符在字符串中出現(xiàn)次數(shù)的方法,涉及php字符遍歷與統(tǒng)計(jì)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-10-10