程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php的SimpleXML方法讀寫XML接口文件實例解析

php的SimpleXML方法讀寫XML接口文件實例解析

編輯:PHP綜合

在php5中讀寫xml文檔是非常方便的,可以直接使用php的SimpleXML方法來快速解析與生成xml格式的文件,下面舉例說明:

創建一個SimpleXML對象有三種方法:

1.使用new關鍵字創建

復制代碼 代碼如下:
$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()創建

復制代碼 代碼如下:
$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()從一個URL創建

復制代碼 代碼如下:
$rss=simplexml_load_file("rss.xml");
//或者:
$rss=simplexml_load_file("/rss.xml");//遠程文檔

具體實例如下:

復制代碼 代碼如下:
<?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;//讀取數據
echo '<hr>';
$rss->item[1]->name='ccc';//修改數據
foreach($rss->item as $v){
 echo $v->name,' <br /> ';//aaa <br /> ccc <br />
}
echo '<hr>';
unset($rss->item[1]);//輸出數據
foreach($rss->item as $k=>$v){
 echo $v->name,' <br /> ';//aaa <br />
}
echo '<hr>';
//添加數據
$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');
?>

進一步分析上面例子如下:

復制代碼 代碼如下:
//xml數據的讀取
//可以直接通過元素的名稱來訪問特定的元素。文檔中的所有元素都被看成是該對象的屬性。
foreach($rss->item as $v){
    echo $v->name,' <br /> ';//aaa <br /> bbb <br />
}
echo $rss->item[1]->age;//26
//xml數據修改,可以直接利用對象屬性賦值的方法來直接編輯一個元素的內容
$rss->item[1]->name='ccc';//修改數據
foreach($rss->item as $v){
    echo $v->name,' <br /> ';//aaa <br /> ccc <br />
}
//可以用php內容函數unset來將一個元素從樹中刪除
unset($rss->item[1]);
foreach($rss->item as $v){
    echo $v->name,' <br /> ';//a www.jb51.net aa <br />
}
//xml添加元素數據,可通過對象的addChild方法來實現
$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數據的存儲
//使用對象的asXML()方法
$rss->asXML('personinfo.xml');//將xml數據存儲到personinfo.xml文件中

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved