現如今,技術(shù)發(fā)展迅猛,不論是什么行業(yè),大部分關(guān)鍵數據都是放置于數據庫中進(jìn)行管理的,一是目前數據庫技術(shù)已經(jīng)相當成熟,二是其管理功能非常強大。以往的數據庫應用,其數據底層結構一般來(lái)說(shuō)都是相對固定,也就是說(shuō),開(kāi)發(fā)出來(lái)的應用程序是針對具體的數據結構,其應用范疇受到一定限制,開(kāi)放性比較差。
XML作為一種可擴展性標記語(yǔ)言,其自描述性使其非常適用于不同應用間的數據交換,而且這種交換是不以預先規定一組數據結構定義為前提,因此具備很強的開(kāi)放性,具有廣闊的應用前景。為了使基于XML的業(yè)務(wù)數據交換成為可能,就必須實(shí)現數據庫的XML數據存取,并且將XML數據同應用程序集成,進(jìn)而使之同現有的業(yè)務(wù)規則相結合。開(kāi)發(fā)基于XML的動(dòng)態(tài)應用,如動(dòng)態(tài)信息發(fā)布、動(dòng)態(tài)數據交換等,就是要能從數據庫中取出數據,并動(dòng)態(tài)產(chǎn)生XML文檔。當前動(dòng)態(tài)產(chǎn)生XML文檔主要有以下幾種方式:
由數據庫直接產(chǎn)生在這一方面,Oracle和Microsoft走在其他廠(chǎng)商的前面。Oracle做為全球第一大數據庫及數據庫應用解決方案提供廠(chǎng)商,早在1999年就率先推出支持XML的數據庫產(chǎn)品Oracle 8i。Microsoft在2000年1月宣稱(chēng)其下一版本SQL Server(代號為Shiloh),將是一個(gè)完全支持XML的產(chǎn)品,利用該產(chǎn)品,用戶(hù)可以在Web瀏覽器下輸入一個(gè)URL地址,即可訪(fǎng)問(wèn)SQL Server數據庫,而返回的結果可以是一個(gè)XML文檔。另外,它還允許通過(guò)輸入樣式參數,指定樣式信息,以便在瀏覽器中輸出豐富的頁(yè)面。一個(gè)典型的URL如下所示:href = // localhost / Northwind ? sql = select + firstname,lastname + from + employees + for + xml + auto。
由Web中間件產(chǎn)生當Web服務(wù)器收到請求,就由中間件進(jìn)行數據庫查詢(xún),然后將查詢(xún)結果轉化為XML格式?,F在有一些工具提供了XML與數據庫的連接過(guò)程大都遵循這樣的步驟。下面是一個(gè)利用ASP直接生成XML文檔的例子。
?。?@ language="VBScript" %>
?。?xml version="1.0" encoding="gb2312"?>
?。?xml:stylesheet type="text/xsl" href="roster.xsl"?>
?。紃oster>
————下面連接數據庫————
?。?
set cConn = Server.CreateObject("ADODB.Connection")
call cConn.Open("DSN","USER", "PWD")
set rs = cConn.Execute("SELECT DISTINCT * FROM roster")
Do While Not rs.EOF %>
————下面產(chǎn)生XML————
?。糝ecord>
?。糔ame><%=trim(rs("name"))%></Name>
?。糔ativePlace><%=trim(rs("NativePlace"))%></NativePlace>
?。糀ge><%=trim(rs("Age"))%></Age>
?。糡elephone><%=trim(rs("Telephone"))%></Telephone>
?。?Record>
?。? rs.MoveNext
Loop
rs.Close
set rs=nothing
set cConn=nothing
%>
?。?roster>
這種方式已經(jīng)在大富翁論壇(www.delphibbs.com)上得到了應用,大富翁論壇也制作了離線(xiàn)瀏覽器,其實(shí)質(zhì)就是用ASP查詢(xún)返回的XML數據文檔在應用程序中進(jìn)行處理。
由其他應用程序產(chǎn)生正是XML自描述性使其非常適用于不同應用間的數據交換,基于XML數據交換的系統之間交換數據就是一個(gè)產(chǎn)生、傳輸和處理XML文檔的過(guò)程,因此許多編程工具已經(jīng)發(fā)布了支持XML的新版本,在Delphi 6中已經(jīng)推出支持XML數據交換的一系列控件,開(kāi)發(fā)數據交換應用程序已經(jīng)不再是以前大家可望不可及的事了,當然這都歸功于XML的出現。
從整體上講,XML定義了應用間傳遞數據的結構,而且這種結構的描述不是基于二進(jìn)制的、只能由程序去判讀的代碼,而是一種簡(jiǎn)單的、能夠用任何編輯器讀取的文本。利用這種機制,程序員可以制定底層數據交換的規范,然后在此基礎上開(kāi)發(fā)整個(gè)系統的各個(gè)模塊,而各模塊之間傳輸的數據將是規范的符合既定規則的數據。
另外,XML還允許為特定的應用制定特殊的數據格式,并且非常適合于在服務(wù)器與服務(wù)器之間傳送結構化數據??傊?,在不久的將來(lái)XML必將成為互聯(lián)網(wǎng)中一顆璀璨的明星。
Copyright@ 2011-2016 版權所有:大連千億科技有限公司 遼ICP備11013762-3號 google網(wǎng)站地圖 百度網(wǎng)站地圖 網(wǎng)站地圖
公司地址:大連市沙河口區中山路692號辰熙星海國際2317 客服電話(huà):0411-39943997 QQ:2088827823 37482752
法律聲明:未經(jīng)許可,任何模仿本站模板、轉載本站內容等行為者,本站保留追究其法律責任的權利! 隱私權政策聲明