- 相關推薦
PHP如何使用DOM和simplexml讀取xml文檔
導語:PHP如何使用DOM和simplexml讀取xml文檔呢?具體實現代碼請閱讀以下內容,更多詳情請關注應屆畢業生考試網。
用DOM代碼實現:
DOM讀取xml文檔步驟:1、創建DOM對象——》2、載入DOM文檔內容——》3、截取要讀取內容所在的標簽——》獲得要讀取的內容。
header('Content-type:text/html;charset=utf-8');
$arr=array();
$dom = new DOMDocument();//創建DOM對象
$dom->load('./books.xml');//載入xml文檔
print_r($dom);
echo '
';
$dom = $dom->getElementsByTagName('book');//截取標簽
for($i=0;$i<$dom->length;$i++){
if($dom->item($i)->childNodes->item(1)->childNodes->item(0)->wholeText=='金庸'){
$arr[] = $dom->item($i)->childNodes->item(0)->childNodes->item(0)->wholeText.'
';//獲取內容
}
}
print_r($arr);
使用 getElementsByTagName 和 childNodes 后返回的都是對象,所以它們后面必須使用 item(int),哪怕它們返回的對象里面只包含一個項目,也必須用item(0)來指定,否則就會出錯。
用simplexml代碼實現:
$simxml = simplexml_load_file('./books.xml');
$t = $simxml->book;
$arr=array();
foreach ($t as $v){
if($v->author=='金庸'){
$arr[] = (string)$v->title;
}
}
print_r($arr);
使用 simplexml_load_file 后返回的是對象,該對象里的項目既有對象又有數組,不管是對象還是數組,要循環里面的內容都可以用 foreach。該實例最后獲取的內容 $v->title 其實是個對象,所以要用 string 轉化為字符串。
【PHP如何使用DOM和simplexml讀取xml文檔】相關文章:
php如何使用fgetcsv讀取csv文件出現亂碼05-01
通過php添加xml文檔內容的方法04-23
php解析XML文檔屬性并編輯的代碼04-12
PHP文件寫入和讀取教程08-06
如何使用PHP框架01-21