您好,登錄后才能下訂單哦!
如何在PHP中使用DOM創(chuàng)建一個xml文檔?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
DOM創(chuàng)建xml文檔
用dom創(chuàng)建如下文檔:
<booklist> <book id="1"> <title>天龍八部</title> <author>金庸</author> <content> <![CDATA[ 天龍八部是金庸寫的一本武俠小說,非常好看! ]]> </content> </book> </booklist>
實(shí)現(xiàn)步驟:
1、創(chuàng)建DOM對象 ——》2、創(chuàng)建節(jié)點(diǎn)——》3、創(chuàng)建下級節(jié)點(diǎn)——》4、將下級節(jié)點(diǎn)加入到上級節(jié)點(diǎn)中——》5、創(chuàng)建屬性節(jié)點(diǎn)——》6、將屬性節(jié)點(diǎn)加入到擁有該屬性的節(jié)點(diǎn)中——》7、如果還有節(jié)點(diǎn)則重復(fù)2~6步驟——》8、將最高級節(jié)點(diǎn)(即根節(jié)點(diǎn))加入到DOM對象中——》9、打開或存儲xml文檔。
在創(chuàng)建節(jié)點(diǎn)的過程中既可以從最下級節(jié)點(diǎn)開始創(chuàng)建,也可以從根節(jié)點(diǎn)開始。實(shí)現(xiàn)代碼如下:
<?php header('Content-Type: text/xml;'); $dom = new DOMDocument('1.0','utf-8');//建立DOM對象 $no1 = $dom->createElement('booklist');//創(chuàng)建普通節(jié)點(diǎn):booklist $dom->appendChild($no1);//把booklist節(jié)點(diǎn)加入到DOM文檔中 $no2 = $dom->createElement('book');//創(chuàng)建book節(jié)點(diǎn) $no1->appendChild($no2);//把book節(jié)點(diǎn)加入到booklist節(jié)點(diǎn)中 $no3 = $dom->createAttribute('id');//創(chuàng)建屬性節(jié)點(diǎn):id $no3->value = 1;//給屬性節(jié)點(diǎn)賦值 $no2->appendChild($no3);//把屬性節(jié)點(diǎn)加入到book節(jié)點(diǎn)中 $no3 = $dom->createElement('title'); $no2->appendChild($no3); $no4 = $dom->createTextNode('天龍八部');//創(chuàng)建文本節(jié)點(diǎn):天龍八部 $no3->appendChild($no4);//把天龍八部節(jié)點(diǎn)加入到book節(jié)點(diǎn)中 $no3 = $dom->createElement('author'); $no2->appendChild($no3); $no4 = $dom->createTextNode('金庸');//創(chuàng)建文本節(jié)點(diǎn):天龍八部 $no3->appendChild($no4);//把天龍八部節(jié)點(diǎn)加入到book節(jié)點(diǎn)中 $no3 = $dom->createElement('content'); $no2->appendChild($no3); $no4 = $dom->createCDATASection('天龍八部是金庸寫的一本武俠小說,非常好看!');//創(chuàng)建文CDATA節(jié)點(diǎn) $no3->appendChild($no4);//把天龍八部節(jié)點(diǎn)加入到book節(jié)點(diǎn)中 header('Content-type:text/html;charset=utf-8'); echo $dom->save('booklist.xml')?'存儲成功':'存儲失敗';//存儲為xml文檔 /*直接以xml文檔格式打開 header('Content-type:text/xml'); echo $dom->savexml(); */ ?>
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。