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