有一次我拿到了個處理 XML 檔案的活兒。這個 XML 檔案是用來跟 Flash mp3 播放器做通訊使用的,包含了音樂的地址、描述等。我需要做的僅僅是讓管理員可以通過一個表單完成添加、刪除音樂項並更新 XML 檔案。聽起來很簡單吧?但我卻在做刪除功能時遇到了麻煩。在我花了無數時間抓耳撓腮想辦法、搜尋、翻閱官方 PHP 文檔裡關於 DOM XML 的內容時,DomIt! 及時地出現了(其實是我及時地找到了)。DomIt! 非常的強大、易用(至少拿來做簡單的處理工作時)、相容 PHP4,並且在願意細讀它的原始碼時協助你快速地學好 DOM XML。
當時需要的 XML 檔案為如下格式:
<?xmlversion="1.0"?>
>
>
>音樂檔案位置>
>音樂檔案標題>
>音樂錄製資訊>
>
>
當然,這個 XML 檔案在我接這活兒的時候已經預先給了。但我想使用 DomIt! 建立這樣的一個檔案作為本系列的第一部分內容,同時也是為了展示 DomIt! 的強大和易用。
首先我們要做的是調用 DomIt! 的庫檔案(到這裡,下載、解壓 DomIt! 庫並將所有的檔案放入與下面將要建立的程式檔案相同的目錄),並建立一個 DomIt! 文檔執行個體:
require_once(xml_domit_include.php);
$xmlDoc=&newDOMIT_Document();// 文檔執行個體
注意“&”符號是用來相容 PHP4 的。
這樣我們就準備好一個執行個體可以按需使用了。看到 XML 檔案內容中的第一行了嗎?沒錯,我們要添加 XML 的檔案聲明:
$xmlDecl=&$xmlDoc->createProcessingInstruction(xml,version="1.0");
$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(),我們可以歸納到一
http://www.bkjia.com/PHPjc/486494.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/486494.htmlTechArticle有一次我拿到了個處理 XML 檔案的活兒。這個 XML 檔案是用來跟 Flash mp3 播放器做通訊使用的,包含了音樂的地址、描述等。我需要做的僅僅...