使用PHP和AJAX的XML編程(1)_Xml教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:WEB頁面工具語言XML帶來的好處
      (1)更有意義的搜索 數據可被XML唯一的標識。沒有XML,搜索軟件必須了解每個數據庫是如何構建的。這實際上是不可能的,因為每個數據庫描述數據都是不同的。有了XML,書就可以很容易以標準的

        在 SOA 架構中,程序員經常使用 XML 在應用程序之間交換結構化和半結構化的數據。XML 及其相關技術 — 文檔對象模型(Document Object Model,DOM)、XPath、HTTP、XQuery 和可擴展樣式表語言轉換(Extensible Stylesheet Language Transformations,XSLT) — 為快速應用程序開發提供了一個強大的環境。構建在這些技術之上的應用程序將占用更小的內存空間,需要更低的維護成本,同時又擁有更高的品質和靈活性。

        DB2 和其他關系數據庫的 XML 方面的特性已經相當成熟,因此除了存儲和管理關系數據之外,它們還是存儲和管理 XML 數據的理想選擇。DB2 9 XML 支持(稱為 pureXML)提供了以純 XML 的形式(換句話說,就是帶注釋的、樹型的分層存儲)存儲 XML 的能力。在 DB2 9 中,XML 數據可以用 XML 模式索引,可以從關系數據組合而成,可以分解為關系數據,可以查詢和轉換,可以獨立發布,或者通過混合使用 SQL/XML 和 XQuery 與關系數據組合起來。

        Web 瀏覽器也正在為客戶機腳本提供更多的功能來有效地處理 XML。通過使用異步 JavaScript 和 XML(Asynchronous JavaScript and XML,Ajax),Web 頁面現在可以直接對應用服務器進行遠程過程調用,并且可以在任何返回的 XML 數據上使用 DOM API。

        本文將展示如何利用 DB2 XML、Ajax 和 PHP Hypertext Preprocessor (PHP) 提供的功能來編寫簡單的基于 XML 的應用程序。通過示例場景的幫助,您將學習如何在 JavaScript 中調用 PHP 應用程序;如何使用 DOM 和 SimpleXML API 修改 XML 數據;如何將 XML 從客戶機傳送到應用程序再到數據庫;以及如何創建 PHP Web 服務來使用 SQL/XML 和 XQuery 發布關于 XML 數據的報告。

        XML 優點

        大多數應用程序都用于創建、存儲、操縱和呈現業務數據。對象包裝是指將業務數據綁在一起,使業務邏輯更容易處理它們。這些包裝器對象的很多功能都是根據關系和格式化規則來提供業務數據的結構,并使業務邏輯能夠操縱、發布和串行化封裝的數據。

        圖 1. 基于對象包裝器的應用程序  

        圖 1 闡釋了使用對象包裝器的一個示例人壽保險應用程序。每個方框表示一個對象,每個對象至少有:

        ·一個構造函數

        ·Getter 和 Setter 方法

        ·驗證代碼

        ·內部對象層次的串行化

        這些對象與實際的業務邏輯沒有關系。對象包裝是為了使業務邏輯更容易管理業務數據。包裝數據所需的代碼比業務邏輯要多得多。更多的代碼將導致更多的 bug、更大的固定性、更多的維護和更高的成本。

        如果對象中的數據變量可以格式化為 XML 結構,并且對象的主要作用是將這些數據暴露給業務邏輯并讓業務邏輯操縱它們,那么可以用 DOM 代替對象。

        圖 2. 基于 XML 的應用程序 


        圖 2 展示了一個使用 XML 和 DOM 包裝器的示例保險應用程序。圖 1 中的所有數據包裝器對象都用一個 DOM 對象代替。業務數據是用 XML 建模的,DOM 提供了必要的 API 來:

        ·創建新的 XML 對象。

        ·更新 XML 對象的值。

        ·導航 XML 對象。

        ·使用 XPath 在對象層次中搜索。

        ·串行化和反串行化 XML 對象層次(換句話說,就是內建持久性)。

        通過使用 XML,可以避免使用大多數用于管理業務數據的包裝器對象。應用程序將變得更加簡潔,并且更多地將重點放在業務邏輯上,而不是數據管理上。

        XML 和架構

        將 XML 引入架構中可以為表示業務數據帶來一種標準化的方式。XML 可以提供數據的結構;XML 模式施加結構和格式化規則;DOM API 和 XQuery、XPath 及 XSLT 之類的語言使業務邏輯可以有效地操縱、發布和串行化數據。由于業務數據的 XML 表示在客戶機、中間層和數據庫中都是一致的,因此操縱這些對象的代碼也是類似的。

        我將展示如何在三層環境中構建基于 XML 的應用程序,這個三層環境由以下幾個部分組成:

        ·Web 客戶機:Asynchronous JavaScript and XML (Ajax),DOM

        ·應用服務器:PHP 和 SimpleXML

        ·數據庫: DB2 9 和 SQL/XML,XQuery

      分享:為何XML對Web服務很重要
      與其它Web服務技術相比,標準化是XML特色之一。XML提供了Web服務應用程序之間傳輸數據的標準格式。萬維網聯盟(W3C)管理XML標準并發布給全球的XML技術提供者,這就確保了XML產品的兼容性。

      來源:模板無憂//所屬分類:Xml教程/更新時間:2008-08-22
      相關Xml教程