用 DomIt! XML 处理工作
$xmlDoc->appendChild($xmlDecl);
在這我們可以看到聲明信息也被當(dāng)作是一個(gè)子節(jié)點(diǎn)做處理,也算是合理的定義。但這里我們可以發(fā)現(xiàn) createProcessingInstruction() 方法存在一個(gè)明顯的缺點(diǎn)——只有兩個(gè)聲明參數(shù)(通常我們可能還會(huì)定義編碼之類的 XML 聲明信息)。幸運(yùn)的是我們使用的是一個(gè)開(kāi)源的庫(kù),也就是說(shuō)我們可以輕易地將它修改定制以滿足要求。如果你實(shí)在需要幫助來(lái)修改這個(gè)特定的方法以添加足夠的 XML 文件聲明信息(如編碼等),我將在本系列的最后一篇中加以介紹。
讓我們回到正題。完成 XML 文件聲明部分后,我們?cè)?XML 文件內(nèi)容中看到的是“audio”標(biāo)簽。它是這個(gè) XML 文件中的根元素(根節(jié)點(diǎn))。讓我們來(lái)創(chuàng)建這部分:
$rootElement=&$xmlDoc->createElement('audio');$xmlDoc->appendChild($rootElement);
你不需要擔(dān)心標(biāo)簽關(guān)閉的問(wèn)題,DomIt! 已經(jīng)完全替你做好了。利用類似的方法,我們將建立“audio”的子節(jié)點(diǎn)——“file”元素;在“file”元素內(nèi),還包含了幾個(gè)姊妹元素“track”、“caption”和“record”及它們的文字內(nèi)容。既然創(chuàng)建它們時(shí)都要用到一個(gè)主要的方法 appendChild(),我們可以歸納到一起說(shuō):
// "file" 元素$fileElement=&$xmlDoc->createElement('file');
// "track" 元素
$trackElement=&$xmlDoc->createElement('track');
// 增加"track"元素的文本內(nèi)容
$trackElement->appendChild($xmlDoc->createTextNode('音樂(lè)文件位置'));
// 添加到"file"元素中去
$fileElement->appendChild($trackElement);
// "caption" 元素,其他同"track"
$captionElement=&$xmlDoc->createElement('caption');
$captionElement->appendChild($xmlDoc->createTextNode('音樂(lè)文件標(biāo)題'));
$fileElement->appendChild($captionElement);
// "record" 元素,其他同"track"
$recordElement=&$xmlDoc->createElement('record');
$recordElement->appendChild($xmlDoc->createTextNode('音樂(lè)錄制信息'));
$fileElement->appendChild($recordElement);
就像之前說(shuō)的,核心部分是 appendChild() 方法。在不同的實(shí)例上調(diào)用它就可以起到不同的作用(這就是面向?qū)ο?#xff09;。如果你用 appendChild() 將“track”元素添加進(jìn)“audio”,那“file”和“track”就變成姊妹節(jié)點(diǎn)了。
完成創(chuàng)建所有節(jié)點(diǎn)的工作后,我們需要將這些內(nèi)容添加進(jìn)“audio”元素,或許你還想將最后的內(nèi)容輸出到屏幕上查看、以及保存到真正的 XML 文件中去:
// 添加所有"file"元素里的內(nèi)容到"audio"里$rootElement->appendChild($fileElement);
// 在屏幕上(網(wǎng)頁(yè))打印出來(lái)
echo$xmlDoc->toNormalizedString(true);
// 將文檔實(shí)例保存進(jìn)一個(gè)真正的 XML 文件中
$xmlDoc->saveXML('audio.xml',true);
然后在屏幕上(瀏覽器中),你可以看到:
<?xmlversion="1.0"?><audio>
<file>
<track>音樂(lè)文件位置</track>
<caption>音樂(lè)文件標(biāo)題</caption>
<record>音樂(lè)錄制信息</record>
</file>
</audio>
與給我的文件內(nèi)容一模一樣。這就是《用 DomIt! 做簡(jiǎn)單的 XML 處理工作》第一部分的結(jié)尾。下一篇,我將談?wù)勅绾涡薷奈覀儎倓倓?chuàng)建的 XML 文件,包括對(duì)內(nèi)容的添加、刪除和編輯。
哦,我還忘了給你們一個(gè) DomIt! 明顯的下載鏈接(我知道可能你們很多人已經(jīng) Google 出來(lái)了):http://sourceforge.net/projects/domit-xmlparser/
轉(zhuǎn)載于:https://www.cnblogs.com/Lovepanda/archive/2010/01/20/1652642.html
總結(jié)
以上是生活随笔為你收集整理的用 DomIt! XML 处理工作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ASP.NET AJAX + JSON
- 下一篇: .Net中DataTable的保存