動(dòng)態(tài)產(chǎn)生XML文檔的幾種方式_Xml教程
推薦:AJAX應(yīng)用之草稿自動(dòng)保存相信用過Gmail的人都知道Gmail有一個(gè)草稿自動(dòng)保存的功能,每過一段時(shí)間,Gmail都會(huì)自動(dòng)保存郵件草稿,這樣在一些突發(fā)情況下就能快速地恢復(fù)工作,免得寫了半天的郵件眨眼之間就沒有了。在學(xué)了AJA
當(dāng)今世界,技術(shù)發(fā)展迅猛,不論是什么行業(yè),大多數(shù)關(guān)鍵數(shù)據(jù)都是放置于數(shù)據(jù)庫中進(jìn)行管理的,一來目前數(shù)據(jù)庫技術(shù)已經(jīng)相當(dāng)成熟,二來其管理功能非常強(qiáng)大。以往的數(shù)據(jù)庫應(yīng)用,其數(shù)據(jù)底層結(jié)構(gòu)一般來說都是相對(duì)固定,也就是說,開發(fā)出來的應(yīng)用程序是針對(duì)具體的數(shù)據(jù)結(jié)構(gòu),其應(yīng)用范疇受到一定限制,開放性較差。
XML作為一種可擴(kuò)展性標(biāo)記語言,其自描述性使其非常適用于不同應(yīng)用間的數(shù)據(jù)交換,而且這種交換是不以預(yù)先規(guī)定一組數(shù)據(jù)結(jié)構(gòu)定義為前提,因此具備很強(qiáng)的開放性,具有廣闊的應(yīng)用前景。為了使基于XML的業(yè)務(wù)數(shù)據(jù)交換成為可能,就必須實(shí)現(xiàn)數(shù)據(jù)庫的XML數(shù)據(jù)存取,并且將XML數(shù)據(jù)同應(yīng)用程序集成,進(jìn)而使之同現(xiàn)有的業(yè)務(wù)規(guī)則相結(jié)合。開發(fā)基于XML的動(dòng)態(tài)應(yīng)用,如動(dòng)態(tài)信息發(fā)布、動(dòng)態(tài)數(shù)據(jù)交換等,就是要能從數(shù)據(jù)庫中取出數(shù)據(jù),并動(dòng)態(tài)產(chǎn)生XML文檔。當(dāng)前動(dòng)態(tài)產(chǎn)生XML文檔主要有以下幾種方式:
由數(shù)據(jù)庫直接產(chǎn)生 在這一方面,Oracle和Microsoft走在其他廠商的前面。Oracle做為全球第一大數(shù)據(jù)庫及數(shù)據(jù)庫應(yīng)用解決方案提供廠商,早在1999年就率先推出支持XML的數(shù)據(jù)庫產(chǎn)品Oracle 8i。Microsoft在2000年1月宣稱其下一版本SQL Server(代號(hào)為Shiloh),將是一個(gè)完全支持XML的產(chǎn)品,利用該產(chǎn)品,用戶可以在Web瀏覽器下輸入一個(gè)URL地址,即可訪問SQL Server數(shù)據(jù)庫,而返回的結(jié)果可以是一個(gè)XML文檔。另外,它還允許通過輸入樣式參數(shù),指定樣式信息,以便在瀏覽器中輸出豐富的頁面。一個(gè)典型的URL如下所示:href = http: // localhost / Northwind ? sql = select firstname,lastname from employees for xml auto。
由Web中間件產(chǎn)生 當(dāng)Web服務(wù)器收到請(qǐng)求,就由中間件進(jìn)行數(shù)據(jù)庫查詢,然后將查詢結(jié)果轉(zhuǎn)化為XML格式�,F(xiàn)在有一些工具提供了XML與數(shù)據(jù)庫的連接過程大都遵循這樣的步驟。下面是一個(gè)利用ASP直接生成XML文檔的例子。
| <%@ language="VBScript" %> <?xml version="1.0" encoding="gb2312"?> <?xml:stylesheet type="text/xsl" href="roster.xsl"?> <roster>————下面連接數(shù)據(jù)庫———— <% 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———— <Record> <Name><%=trim(rs("name"))%></Name> <NativePlace><%=trim(rs("NativePlace"))%></NativePlace> <Age><%=trim(rs("Age"))%></Age> <Telephone><%=trim(rs("Telephone"))%></Telephone> </Record> <% rs.MoveNext Loop rs.Close set rs=nothing set cConn=nothing %> </roster> |
這種方式已經(jīng)在大富翁論壇(http://www.delphibbs.com)上得到了應(yīng)用,大富翁論壇也制作了離線瀏覽器,其實(shí)質(zhì)就是用ASP查詢返回的XML數(shù)據(jù)文檔在應(yīng)用程序中進(jìn)行處理。
由其他應(yīng)用程序產(chǎn)生 正是XML自描述性使其非常適用于不同應(yīng)用間的數(shù)據(jù)交換,基于XML數(shù)據(jù)交換的系統(tǒng)之間交換數(shù)據(jù)就是一個(gè)產(chǎn)生、傳輸和處理XML文檔的過程,因此許多編程工具已經(jīng)發(fā)布了支持XML的新版本,在Delphi 6中已經(jīng)推出支持XML數(shù)據(jù)交換的一系列控件,開發(fā)數(shù)據(jù)交換應(yīng)用程序已經(jīng)不再是以前大家可望不可及的事了,當(dāng)然這都?xì)w功于XML的出現(xiàn)。
從整體上講,XML定義了應(yīng)用間傳遞數(shù)據(jù)的結(jié)構(gòu),而且這種結(jié)構(gòu)的描述不是基于二進(jìn)制的、只能由程序去判讀的代碼,而是一種簡單的、能夠用任何編輯器讀取的文本。利用這種機(jī)制,程序員可以制定底層數(shù)據(jù)交換的規(guī)范,然后在此基礎(chǔ)上開發(fā)整個(gè)系統(tǒng)的各個(gè)模塊,而各模塊之間傳輸?shù)臄?shù)據(jù)將是規(guī)范的符合既定規(guī)則的數(shù)據(jù)。另外,XML還允許為特定的應(yīng)用制定特殊的數(shù)據(jù)格式,并且非常適合于在服務(wù)器與服務(wù)器之間傳送結(jié)構(gòu)化數(shù)據(jù)�?傊�,在不久的將來XML必將成為互聯(lián)網(wǎng)中一顆璀璨的明星。
分享:使用xmldom在服務(wù)器端生成靜態(tài)html頁面 服務(wù)器端的生成的頁面數(shù)據(jù),為了提高訪問速度,往往需要生成靜態(tài)的htm頁面。 通常,可以使用fso生成靜態(tài)的htm頁。但如果是fso被禁止或沒有使用fso的權(quán)限,就需要其他的方法來解決
- xml創(chuàng)建節(jié)點(diǎn)(根節(jié)點(diǎn)、子節(jié)點(diǎn))
- WML開發(fā)教程之 WAP網(wǎng)站服務(wù)器配置方法
- WMLScript的語法基礎(chǔ)
- 收集的WML Script標(biāo)準(zhǔn)函數(shù)庫
- WML教程之文本框控件Input
- 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)
- xml文件的結(jié)構(gòu)解讀
- 關(guān)于XSL - XSL教程
- 選擇模式 - XSL教程 - 2
- XPath入門 - XSL教程 - 3
- 匹配模式 - XSL教程 - 4
- 測(cè)試模式 - XSL教程 - 5
- 相關(guān)鏈接:
- 教程說明:
Xml教程-動(dòng)態(tài)產(chǎn)生XML文檔的幾種方式
。