国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > XML > 正文

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

2024-09-05 20:53:59
字體:
來源:轉載
供稿:網友

  將保單存儲在 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” 以獲得更詳細的信息。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西乌珠穆沁旗| 吴川市| 武川县| 中方县| 台湾省| 建平县| 乌拉特后旗| 延寿县| 定南县| 山阴县| 万源市| 嵊泗县| 和静县| 冀州市| 肇源县| 伊川县| 浠水县| 嘉黎县| 天祝| 南安市| 英吉沙县| 安宁市| 正蓝旗| 新龙县| 漳浦县| 信宜市| 佳木斯市| 永平县| 当涂县| 自贡市| 阿坝| 汉寿县| 富民县| 普格县| 神木县| 洛浦县| 利辛县| 濉溪县| 呼伦贝尔市| 石棉县| 濮阳县|