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

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

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

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

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

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

  web 瀏覽器也正在為客戶機腳本提供更多的功能來有效地處理 xml。通過使用異步 javascript 和 xml(asynchronous javascript and xml,ajax),web 頁面現(xiàn)在可以直接對應用服務器進行遠程過程調(diào)用,并且可以在任何返回的 xml 數(shù)據(jù)上使用 dom api。

  本文將展示如何利用 db2 xml、ajax 和 php hypertext preprocessor (php) 提供的功能來編寫簡單的基于 xml 的應用程序。通過示例場景的幫助,您將學習如何在 javascript 中調(diào)用 php 應用程序;如何使用 dom 和 simplexml api 修改 xml 數(shù)據(jù);如何將 xml 從客戶機傳送到應用程序再到數(shù)據(jù)庫;以及如何創(chuàng)建 php web 服務來使用 sql/xml 和 xquery 發(fā)布關于 xml 數(shù)據(jù)的報告。

  xml 優(yōu)點

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

  圖 1. 基于對象包裝器的應用程序  

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

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

  ·getter 和 setter 方法

  ·驗證代碼

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

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

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

  圖 2. 基于 xml 的應用程序 


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

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

  ·更新 xml 對象的值。

  ·導航 xml 對象。

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

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

  通過使用 xml,可以避免使用大多數(shù)用于管理業(yè)務數(shù)據(jù)的包裝器對象。應用程序?qū)⒆兊酶雍啙?,并且更多地將重點放在業(yè)務邏輯上,而不是數(shù)據(jù)管理上。

  xml 和架構(gòu)

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

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

  ·web 客戶機:asynchronous javascript and xml (ajax),dom

  ·應用服務器:php 和 simplexml

  ·數(shù)據(jù)庫: db2 9 和 sql/xml,xquery 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 九九看片| 国产精品久久久久久久午夜片 | 精品中文字幕在线播放 | 欧美日韩网站在线观看 | 九一免费国产 | 99精品视频免费看 | 欧美亚洲黄色 | 国产精品99久久免费观看 | 成人毛片100免费观看 | 久久久久一区二区三区四区五区 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | 国产黄色录像片 | 欧美日韩1区2区 | 色就色 综合偷拍区91网 | 国产午夜精品一区二区三区不卡 | 九色国产 | 国产精品久久久久久久久久三级 | 久久精品国产清自在天天线 | 中文字幕在线观看网址 | av在线免费电影 | 亚洲一区在线免费视频 | 国产精品久久久久久久久久电影 | 免费a级作爱片免费观看欧洲 | 538在线精品 | 成人福利在线视频 | 亚洲国产精品久久久久婷婷老年 | 羞羞网站视频 | 日韩欧美精品电影 | 日韩毛片免费观看 | av电影手机在线看 | 精品久久久久久久久久久下田 | 黑人一区 | 久久久久久久久国产 | 国产呦在线观看视频 | 中文字幕观看 | 久久经典国产视频 | 欧美爱爱视频网站 | 污黄视频在线观看 | 国产精品一区在线免费观看 | 中文字幕在线观看网址 | 亚州成人在线观看 |