返回頂部
關(guān)閉軟件導(dǎo)航
位置:首頁 > 資訊 > 其他>使用PHP和AJAX的XML編程

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

  DB2和其他關(guān)系數(shù)據(jù)庫的XML方面的特性已經(jīng)相當(dāng)成熟,因此除了存儲和管理關(guān)系數(shù)據(jù)之外,它們還是存儲和管理XML數(shù)據(jù)的理想選擇。DB29XML支持(稱為pureXML)提供了以純XML的形式(換句話說,就是帶注釋的、樹型的分層存儲)存儲XML的能力。在DB29中,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(AsynchronousJavaScriptandXML,Ajax),Web頁面現(xiàn)在可以直接對應(yīng)用服務(wù)器進(jìn)行遠(yuǎn)程過程調(diào)用,并且可以在任何返回的XML數(shù)據(jù)上使用DOMAPI。

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

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

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

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

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

PHPweb批量助手

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

  ·Getter和Setter方法

PHPweb批量添加欄目

  ·驗證代碼

  ·內(nèi)部對象層次的串行化

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

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

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

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

  ·創(chuàng)建新的XML對象。

  ·更新XML對象的值。

  ·導(dǎo)航XML對象。

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

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

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

如果您覺得 使用PHP和AJAX的XML編程 這篇文章對您有用,請分享給您的好友,謝謝
文章地址:http://www.brucezhang.com/article/other/syPHPhAJAXdXMLbc.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 国产成人精品高清免费| 国产成人亚综合91精品首页| 久久久久99精品成人片| 亚洲AV午夜成人片| 99久久国产综合精品成人影院| 亚洲国产成人精品青青草原| 色窝窝无码一区二区三区成人网站 | 成人羞羞视频在线观看| 成人片黄网站色大片免费| 国产成人h在线视频| 欧美色成人tv在线播放| 国产成人yy精品1024在线| 成人看片黄a在线观看| 国产成人免费在线观看| 欧美成人观看视频在线| 国产成人av一区二区三区在线 | 色综七七久久成人影| 国产成人久久精品二区三区 | 亚洲国产成人久久精品软件| 成人a毛片在线看免费全部播放| 亚洲国产一成人久久精品| 四虎亚洲国产成人久久精品| 成人免费公开视频| 日本成人在线播放| 欧美国产成人精品一区二区三区| 四虎影视成人永久免费观看视频| 成人H动漫精品一区二区| 欧美成人精品第一区二区三区| 四虎国产成人永久精品免费| 国产成人AV综合色| 国产成人久久av免费| 国产成人精品一区二区三区| 国产成人综合欧美精品久久| 成人久久久久久| 国产成人无码a区在线观看视频免费| 欧美人成人亚洲专区中文字幕| 成人黄色在线观看| 国产精品成人免费视频网站| 国产成人无码区免费A∨视频网站| 国产成人精品久久一区二区三区 | 伊人色院成人蜜桃视频|