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

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

      推薦:論Asp與XML的關(guān)系
      1、XML 是什么? XML僅僅是一種數(shù)據(jù)存放格式,這種格式是一種文本(雖然XML規(guī)范中也提供了存放二進制數(shù)據(jù)的解決方案)。 事實上有很多文本格式都可以用來存放數(shù)據(jù),例如大家所熟悉的.ini文

        基于 ACORD 人壽數(shù)據(jù)模型的場景

        我們來考慮一個簡單的人壽保險場景,在這個場景中,首先創(chuàng)建一個表示新保單的 XML 文檔,然后查詢和操縱這個文檔,另外還將這個文檔從一層移動到另一層。這個文檔基于合作運營研究與發(fā)展協(xié)會(Association for Cooperative Operations Research & Development,ACORD)用于人壽保險規(guī)范的 XML,它定義了健康保險和年金保險需要交換的數(shù)據(jù)。

        為了申請一個新的保險,客戶需要提供一些基本信息。部分信息是在一個 PHP 應(yīng)用程序中填寫的,還有一部分是在客戶機瀏覽器中填寫的。然后,保單存儲在一個 DB2 XML 列中。在 DB2 9 中,XML 類型的列在內(nèi)部將 XML 數(shù)據(jù)存儲為一棵解析后的樹,與關(guān)系數(shù)據(jù)存儲在不同的地方。這種方法是 DB2 9 特有的,更早的 DB2 版本則使用關(guān)系存儲基礎(chǔ)設(shè)施來存儲 XML。

        下面是保單 XML 文檔在客戶機與應(yīng)用程序之間的流程:

        ·在 Web 客戶機中,客戶更新頁面并單擊 Submit。

        ·Web 客戶機向 PHP 發(fā)出一個 XMLHTTP 請求,以獲得新的空白保單文檔。

        ·PHP 應(yīng)用程序打開一個空白的保單文檔,用一個全局惟一標(biāo)識符(GUID)更新它,然后將該文檔返回給 Web 客戶機。

        ·Web 客戶機使用 Ajax 捕捉返回的事件,并檢索 XML DOM,然后用 Web 頁面中輸入的信息填充該文檔。

        ·Web 客戶機使用 XMLHTTP 將更新后的 XML 發(fā)送給 PHP 應(yīng)用程序。

        圖 3. 創(chuàng)建新的保單請求的 Web 站點。

        圖 3 展示了用于創(chuàng)建新的保單請求的 Web 頁面。當(dāng)用戶單擊 Submit 按鈕后,JavaScript 函數(shù) submitPolicy() 被調(diào)用(見清單 1)。該函數(shù)向 PHP 應(yīng)用程序 createNewPolicy.php 發(fā)出一個 HTTP 請求,以獲得一個空白的保單。它還設(shè)置一個回調(diào)函數(shù) fillPolicy(),用于捕捉從 HTTP 請求返回的事件。

        當(dāng)?shù)谝粋請求到達中間層的 PHP 應(yīng)用服務(wù)器時,一個新的 XML 保單文檔被裝載到 SimpleXML 對象中。通過使用 SimpleXML API,用 PHP 應(yīng)用程序中創(chuàng)建的 GUID 更新 TransRefGUID 元素。

        header('Content-type: text/xml');

        $fileContents = file_get_contents("$basedir/acord.xml");

        $dom = simplexml_load_string($fileContents);

        $dom->TXLifeRequest->TransRefGUID=$guid;

        echo $dom->asXML();

        然后,這個文檔被發(fā)送到客戶機。

        對于本文,我們假設(shè) GUID 是通過某種機制(例如時間和隨機數(shù)的組合)創(chuàng)建的。更重要的是理解如何將表示保單的 XML 文檔視作內(nèi)存中的業(yè)務(wù)對象層次結(jié)構(gòu),以及如何使用 SimpleXML API (或 DOM/XPath)來導(dǎo)航和更新這個對象。

        填充基本客戶信息

        在 Web 客戶機中,fillPolicy() 函數(shù)讀取返回的值。現(xiàn)在,包含返回 XML 的內(nèi)存中表示的 DOM 對象可用于操縱保單文檔。客戶在 Web 頁面上輸入的信息被直接用于更新 DOM。當(dāng)使用客戶信息更新了保單之后,使用 XMLHTTP 將修改后的 DOM 對象提交回 PHP 應(yīng)用程序(見清單 2)。即使是 HTML 組件值也是用 DHTMLDocument Object Model (DOM) 讀取的。

      分享:輕松學(xué)習(xí)手冊(3)XML的術(shù)語
      第三章 XML的術(shù)語 導(dǎo)言 初學(xué)XML最令人頭疼的就是有一大堆新的術(shù)語概念要理解。由于XML本身也是一個嶄新的技術(shù),正在不斷發(fā)展和變化,各組織和各大網(wǎng)絡(luò)公司(微軟,IBM,SUN等)都在不斷推出自己

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