DOM創建xml文檔
用dom創建如下文檔:
<booklist> <book id="1"> <title>天龍八部</title> <author>金庸</author> <content> <![CDATA[ 天龍八部是金庸寫的一本武俠小說,非常好看! ]]> </content> </book> </booklist>
實現步驟:1、創建DOM對象 ——》2、創建節點——》3、創建下級節點——》4、將下級節點加入到上級節點中——》5、創建屬性節點——》6、將屬性節點加入到擁有該屬性的節點中——》7、如果還有節點則重復2~6步驟——》8、將最高級節點(即根節點)加入到DOM對象中——》9、打開或存儲xml文檔。
在創建節點的過程中既可以從最下級節點開始創建,也可以從根節點開始。實現代碼如下:
$dom = new DOMDocument('1.0','utf-8');//建立DOM對象 $no1 = $dom->createElement('booklist');//創建普通節點:booklist $dom->appendChild($no1);//把booklist節點加入到DOM文檔中 $no2 = $dom->createElement('book');//創建book節點 $no1->appendChild($no2);//把book節點加入到booklist節點中 $no3 = $dom->createAttribute('id');//創建屬性節點:id $no3->value = 1;//給屬性節點賦值 $no2->appendChild($no3);//把屬性節點加入到book節點中 $no3 = $dom->createElement('title'); $no2->appendChild($no3); $no4 = $dom->createTextNode('天龍八部');//創建文本節點:天龍八部 $no3->appendChild($no4);//把天龍八部節點加入到book節點中 $no3 = $dom->createElement('author'); $no2->appendChild($no3); $no4 = $dom->createTextNode('金庸');//創建文本節點:天龍八部 $no3->appendChild($no4);//把天龍八部節點加入到book節點中 $no3 = $dom->createElement('content'); $no2->appendChild($no3); $no4 = $dom->createCDATASection('天龍八部是金庸寫的一本武俠小說,非常好看!');//創建文CDATA節點 $no3->appendChild($no4);//把天龍八部節點加入到book節點中 header('Content-type:text/html;charset=utf-8'); echo $dom->save('booklist.xml')?'存儲成功':'存儲失敗';//存儲為xml文檔 /*直接以xml文檔格式打開 header('Content-type:text/xml'); echo $dom->savexml(); */