PHP中怎么利用DOM和simplexml讀取xml文檔,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)是少有的成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、營銷型企業(yè)網(wǎng)站、成都微信小程序、手機(jī)APP,開發(fā)、制作、設(shè)計、外鏈、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,從2013年成立,堅持透明化,價格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評用DOM獲取下列xml文檔中所有金庸小說的書名,該xml文檔所在位置為 ./books.xml:
天龍八部 金庸 陸小鳳 古龍 倚天屠龍記 金庸 西游記 吳承恩 神雕俠侶 金庸 射雕英雄傳 金庸
用DOM代碼實(shí)現(xiàn):
DOM讀取xml文檔步驟:1、創(chuàng)建DOM對象——》2、載入DOM文檔內(nèi)容——》3、截取要讀取內(nèi)容所在的標(biāo)簽——》獲得要讀取的內(nèi)容。
header('Content-type:text/html;charset=utf-8'); $arr=array(); $dom = new DOMDocument();//創(chuàng)建DOM對象 $dom->load('./books.xml');//載入xml文檔 print_r($dom); echo '
'; $dom = $dom->getElementsByTagName('book');//截取標(biāo)簽 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.'
';//獲取內(nèi)容 } } print_r($arr);
使用 getElementsByTagName 和 childNodes 后返回的都是對象,所以它們后面必須使用 item(int),哪怕它們返回的對象里面只包含一個項(xiàng)目,也必須用item(0)來指定,否則就會出錯。
用simplexml代碼實(shí)現(xiàn):
$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);
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。