程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 用 DomIt! 做簡單的 XML 處理工作

用 DomIt! 做簡單的 XML 處理工作

編輯:關於PHP編程

有一次我拿到了個處理 XML 文件的活兒。這個 XML 文件是用來跟 Flash mp3 播放器做通信使用的,包含了音樂的地址、描述等。我需要做的僅僅是讓管理員可以通過一個表單完成添加、刪除音樂項並更新 XML 文件。聽起來很簡單吧?但我卻在做刪除功能時遇到了麻煩。在我花了無數時間抓耳撓腮想辦法、搜索、翻閱官方 PHP 文檔裡關於 DOM XML 的內容時,DomIt! 及時地出現了(其實是我及時地找到了)。DomIt! 非常的強大、易用(至少拿來做簡單的處理工作時)、兼容 PHP4,並且在願意細讀它的源代碼時幫助你快速地學好 DOM XML。

 

當時需要的 XML 文件為如下格式:

<?xmlversion="1.0"?>
<audio>
<file>
<track>音樂文件位置</track>
<caption>音樂文件標題</caption>
<record>音樂錄制信息</record>
</file>
</audio>

當然,這個 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(),我們可以歸納到一

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved