麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > XML > 正文

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

2024-09-05 20:53:59
字體:
供稿:網(wǎng)友

  在 SOA 架構(gòu)中,程序員經(jīng)常使用 XML 在應(yīng)用程序之間交換結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)。XML 及其相關(guān)技術(shù) ― 文檔對(duì)象模型(Document Object Model,DOM)、XPath、HTTP、XQuery 和可擴(kuò)展樣式表語言轉(zhuǎn)換(Extensible Stylesheet Language Transformations,XSLT) ― 為快速應(yīng)用程序開發(fā)提供了一個(gè)強(qiáng)大的環(huán)境。構(gòu)建在這些技術(shù)之上的應(yīng)用程序?qū)⒄加酶〉膬?nèi)存空間,需要更低的維護(hù)成本,同時(shí)又擁有更高的品質(zhì)和靈活性。

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

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

  本文將展示如何利用 DB2 XML、Ajax 和 PHP Hypertext Preprocessor (PHP) 提供的功能來編寫簡單的基于 XML 的應(yīng)用程序。通過示例場(chǎng)景的幫助,您將學(xué)習(xí)如何在 JavaScript 中調(diào)用 PHP 應(yīng)用程序;如何使用 DOM 和 SimpleXML API 修改 XML 數(shù)據(jù);如何將 XML 從客戶機(jī)傳送到應(yīng)用程序再到數(shù)據(jù)庫;以及如何創(chuàng)建 PHP Web 服務(wù)來使用 SQL/XML 和 XQuery 發(fā)布關(guān)于 XML 數(shù)據(jù)的報(bào)告。

  XML 優(yōu)點(diǎn)

  大多數(shù)應(yīng)用程序都用于創(chuàng)建、存儲(chǔ)、操縱和呈現(xiàn)業(yè)務(wù)數(shù)據(jù)。對(duì)象包裝是指將業(yè)務(wù)數(shù)據(jù)綁在一起,使業(yè)務(wù)邏輯更容易處理它們。這些包裝器對(duì)象的很多功能都是根據(jù)關(guān)系和格式化規(guī)則來提供業(yè)務(wù)數(shù)據(jù)的結(jié)構(gòu),并使業(yè)務(wù)邏輯能夠操縱、發(fā)布和串行化封裝的數(shù)據(jù)。

  圖 1. 基于對(duì)象包裝器的應(yīng)用程序  

  圖 1 闡釋了使用對(duì)象包裝器的一個(gè)示例人壽保險(xiǎn)應(yīng)用程序。每個(gè)方框表示一個(gè)對(duì)象,每個(gè)對(duì)象至少有:

  ?一個(gè)構(gòu)造函數(shù)

  ?Getter 和 Setter 方法

  ?驗(yàn)證代碼

  ?內(nèi)部對(duì)象層次的串行化

  這些對(duì)象與實(shí)際的業(yè)務(wù)邏輯沒有關(guān)系。對(duì)象包裝是為了使業(yè)務(wù)邏輯更容易管理業(yè)務(wù)數(shù)據(jù)。包裝數(shù)據(jù)所需的代碼比業(yè)務(wù)邏輯要多得多。更多的代碼將導(dǎo)致更多的 bug、更大的固定性、更多的維護(hù)和更高的成本。

  如果對(duì)象中的數(shù)據(jù)變量可以格式化為 XML 結(jié)構(gòu),并且對(duì)象的主要作用是將這些數(shù)據(jù)暴露給業(yè)務(wù)邏輯并讓業(yè)務(wù)邏輯操縱它們,那么可以用 DOM 代替對(duì)象。

  圖 2. 基于 XML 的應(yīng)用程序 


  圖 2 展示了一個(gè)使用 XML 和 DOM 包裝器的示例保險(xiǎn)應(yīng)用程序。圖 1 中的所有數(shù)據(jù)包裝器對(duì)象都用一個(gè) DOM 對(duì)象代替。業(yè)務(wù)數(shù)據(jù)是用 XML 建模的,DOM 提供了必要的 API 來:

  ?創(chuàng)建新的 XML 對(duì)象。

  ?更新 XML 對(duì)象的值。

  ?導(dǎo)航 XML 對(duì)象。

  ?使用 XPath 在對(duì)象層次中搜索。

  ?串行化和反串行化 XML 對(duì)象層次(換句話說,就是內(nèi)建持久性)。

  通過使用 XML,可以避免使用大多數(shù)用于管理業(yè)務(wù)數(shù)據(jù)的包裝器對(duì)象。應(yīng)用程序?qū)⒆兊酶雍啙崳⑶腋嗟貙⒅攸c(diǎn)放在業(yè)務(wù)邏輯上,而不是數(shù)據(jù)管理上。

  XML 和架構(gòu)

  將 XML 引入架構(gòu)中可以為表示業(yè)務(wù)數(shù)據(jù)帶來一種標(biāo)準(zhǔn)化的方式。XML 可以提供數(shù)據(jù)的結(jié)構(gòu);XML 模式施加結(jié)構(gòu)和格式化規(guī)則;DOM API 和 XQuery、XPath 及 XSLT 之類的語言使業(yè)務(wù)邏輯可以有效地操縱、發(fā)布和串行化數(shù)據(jù)。由于業(yè)務(wù)數(shù)據(jù)的 XML 表示在客戶機(jī)、中間層和數(shù)據(jù)庫中都是一致的,因此操縱這些對(duì)象的代碼也是類似的。

  我將展示如何在三層環(huán)境中構(gòu)建基于 XML 的應(yīng)用程序,這個(gè)三層環(huán)境由以下幾個(gè)部分組成:

  ?Web 客戶機(jī):Asynchronous JavaScript and XML (Ajax),DOM

  ?應(yīng)用服務(wù)器:PHP 和 SimpleXML

  ?數(shù)據(jù)庫: DB2 9 和 SQL/XML,XQuery

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲精品午夜国产va久久成人 | 国产69精品久久久久9999不卡免费 | 免费欧美一级视频 | 国产91小视频在线观看 | 精品1| 欧美一级片免费在线观看 | 亚洲网站免费看 | 欧美在线黄色 | 日本一区二区三区视频在线 | 色综合网在线观看 | 国产亚洲欧美视频 | 国产高潮好爽好大受不了了 | 免费在线成人网 | 精品91av| 久久午夜免费视频 | 龙床上的呻吟高h | 黄色成人小视频 | 欧美 国产 亚洲 卡通 综合 | 亚洲一级电影在线观看 | 国产精品久久久久久婷婷天堂 | 中文在线观看视频 | 久久久久久久久久性 | 高清国产午夜精品久久久久久 | 欧美黑人伦理 | 羞羞视频一区 | 毛片在线播放视频 | 亚洲一区二区三区高清视频 | 97zyz成人免费视频 | 视频一区二区中文字幕 | 国产日本在线播放 | 亚洲午夜精选 | 国产精品久久久久久婷婷天堂 | 九九视频在线观看6 | 黄色aaa视频 | 欧美.com| 91成人在线免费视频 | wwwxxx免费视频 | 久草在线视频免费播放 | 一级大片久久 | 曰韩在线视频 | 天堂在线资源av |