侯春英
摘 要:XML作為存儲數(shù)據(jù)的首選手段,已經(jīng)逐步達到取代一些數(shù)據(jù)庫的功能而且使用起來遠比數(shù)據(jù)庫方便得多,本文從實用角度出發(fā)介紹了XML文檔的建立、編輯及檢索方式的實現(xiàn)。
關鍵詞:XML;SGML;表單
XML作為存儲數(shù)據(jù)的首選方式,已經(jīng)逐步達到取代一些數(shù)據(jù)庫的功能而且使用起來遠比數(shù)據(jù)庫方便得多,它不需要任何其它的數(shù)據(jù)庫環(huán)境配置和數(shù)據(jù)庫連接設置,便可以方便地實現(xiàn)數(shù)據(jù)庫的功能并實現(xiàn)動態(tài)網(wǎng)頁的設計工作。
XML文檔是一種純文本文檔,可以用你喜歡的任意一種編輯器來創(chuàng)建它。但是在很多情況下,XML文檔不應由設計者事先設計好來固定使用,而應在程序運行過程中由交互方式產(chǎn)生數(shù)據(jù)并動態(tài)建立相應的XML文檔。本文將介紹一種動態(tài)XML文檔建立和編輯方法及利用XSL樣式表來檢索顯示XML文檔的方法及實現(xiàn)過程。
1 創(chuàng)建并編輯一個XML文檔的宏觀描述
⑴通過交互方式(表單)將用戶所要建立的XML元素存儲在計算機內(nèi);
⑵用ASP程序進行處理,其主要處理過程可包含以下幾個方面:1)創(chuàng)建DOM實例,并加載所要使用的XML文檔;2)判斷所要使用的XML文檔是否存在,若不存在,則要先創(chuàng)建XML文檔的聲明部分和根元素;3)按用戶在表單中所輸入的各項在XML文檔中建立相應的子元素;4)將所處理的數(shù)據(jù)保存。
2 文檔動態(tài)處理過程示例
⑴newdata.htm文件的內(nèi)容(主運行文件):
⑵newxml.asp文件的內(nèi)容為:
<%
Function NewtoXML(FileName)
Dim objDom
Dim objRoot
Dim objRecord
Dim objField
Dim objPI1
dim objPI2
Dim blnFileExists
Set objDom=server.CreateObject("Microsoft.XMLDOM")
objDom.preserveWhiteSpace=True
blnFileExists=objDom.Load(FileName)
If blnFileExists=True Then
Set objRoot=objDom.documentElement
Else
Set objRoot=objDom.createElement("學生資料表")
objDom.appendChild objRoot
End If
Set objRecord=objDom.createElement("個人資料")
objRoot.appendChild objRecord
For x=1 To Request.Form.Count
If instr(1,Request.Form.Key(x),"btn")=0 Then
Set objField=objDom.createElement(Request.Form.Key(x))
objField.Text=Request.Form(x)
objRecord.appendChild objField
End If
Next
If blnFileExists=False then
Set objPI1=objDom.createProcessingInstruction("xml","version='1.0' encoding='gb2312'")
set objPI2=objDom.createProcessingInstruction("xml:stylesheet", "type='text/xsl' href='userdata.xsl'")
objDom.insertBefore objPI1, objDom.childNodes(0)
objDom.insertBefore objPI2, objDom.childNodes(1)
End If
objDom.save FileName
End Function
On Error Resume Next
NewtoXML server.MapPath("Userdata.xml")
If err.number<>0 then
Response.write("")
End If
%>
說明:本程序已在IE瀏覽器上運行通過。代碼中所調用的userdata.xml文件不用單獨建立,程序在運行過程中會自動建立此文件。
[參考文獻]
[1]范春梅.XML基礎教程.人民郵電出版社,2009.
[2]孫更新,肖冰,彭玉忠.XML編程與應用教程.清華大學出版社,2009.