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

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

      推薦:XQuery 初學者入門教程:XQuery實例
      在本節,讓我們通過研究一個例子來學習一些基礎的 XQuery 語法。 XML 實例文檔 我們將在下面的例子中使用這個 XML 文檔。 以下為引用的內容: "

        將保單存儲在 DB2 中

        PHP 應用程序將傳入的 XML 文檔直接存儲在數據庫中,而不需要解析它(見清單 3)。DB2 的 pureXML 支持將隱式地解析傳入的 XML,并將其存儲在一個類 DOM 的分層結構中。現在,可以在 XQuery 語句中使用 XPath 之類的 XML 導航技術(就像在 DOM 中使用的那樣)來查詢 XML。DB2 9 還提供了在該層次結構中的任何節點上索引的能力。

        公開 XML 文檔上的服務

        新的保單存儲在 DB2 9 中以后,保險代理可以查詢該保單,以決定是否接受這個保險。用于獲得關于新保單報告的查詢通過 Web 服務公開給客戶機應用程序。

        這個例子中的 Web 服務是用 PHP 編寫的,它為調用實現服務的業務和轉換邏輯的 DB2 存儲過程提供了一個簡潔的接口。每個 DB2 存儲過程由一個 SQL/XML 查詢組成,它過濾和轉換存儲在數據庫中的 XML 保單,以創建一個輸出 XML 文檔。然后,該 PHP Web 服務將 XML 文檔返回給客戶機。

        我們來分析每個存儲過程,看看那些有效地組成 Web 服務實現的查詢。

        列出所有新客戶保險的 DB2 查詢。包含該查詢的存儲過程是listAllNewCustomers(見清單 4)。該查詢搜索 ACORD 表的 INFO 列中的所有保單文檔。在每個 XML 文檔中,DB2 進一步向下分析,以便只返回 PolicyStatus/@tc 屬性的代碼值被設為 12(也就是建議的值)的那些文檔。查詢輸出是一個 XML 文檔,它有一個根節點 newpolicylist,該節點包含一系列的用于每個新保單的 TXLife 子節點(見圖 4)。

        圖 4. 返回新保單列表的 SQL/XML 查詢 


        注意這個查詢第一次如何使用 DB2 XQuery 函數 db2-fn:xmlcolumn 來導航關系模式,以定位到 XML 列 DB2ADMIN.ACORD.INFO。當它到達 XML 列時,它進一步使用 XPath 在 XML 模式中導航到適當的節點(類似于使用 PHP、JavaScript 或其他語言導航 DOM)。
        列出有風險客戶的提議保險的 DB2 查詢。該查詢只列出有風險的新客戶(也就是說,他們對于某個醫療問題的回答是 yes)。該查詢包含在一個名為 listAtRiskNewCustomers 的存儲過程中(見清單 5)。 注意:WHERE 子句同時檢查答案和保單狀態。

        評估有風險新客戶的風險度的 DB2 查詢。對于以上列表中的每個保單,在保單的健康風險區域只能列出回答為 yes 的問題。該查詢還返回 policytype,以顯示該保單值多少錢,以便評估風險。包含該查詢的存儲過程(見清單 6)是 getRiskQuestions(guid)。 注意:您需要一個支持 XML 類型的 DB2 驅動程序版本。否則,在每個存儲過程中都需要使用 XMLSerialize 來從 XMLQuery 中串行化 XML 值。請參閱 developerWorks 文章 “結合使用 DB2 原生 XML 與 PHP” 以獲得更詳細的信息。

      分享:概述IE和SQL2k開發一個XML聊天程序
      不同瀏覽器之間多年的競爭導致產生了很多工具幫助開發人員完成以前很難做到的任務。現在,只要一小段腳本,你就可以創建一個應用程序將數據綁定到用戶控件,這樣就可以通過一個內嵌的代理類型的

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