如何向XML文件存儲(chǔ)數(shù)據(jù)_Xml教程
推薦:淺析XML教程之XML DHTML 行為Internet Explorer 5引入了DHTML行為。行為(Behaviors)是一種借助CSS的便利性向HTML元素添加DHTML功能性的方法。 行為 - 什么是行為? IE 5引入了DHTML行為(DHTML behaviors)。行為(Behaviors)是一種借助CSS的便利性向HTML元素添加DHTML功能性的方法。
通常,我們?cè)跀?shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù)。不過(guò),如果希望數(shù)據(jù)的可移植性更強(qiáng),我們可以把數(shù)據(jù)存儲(chǔ)XML文件中。
創(chuàng)建并保存XML文件
如果數(shù)據(jù)要被傳送到非Windows平臺(tái)上的應(yīng)用程序,那么把數(shù)據(jù)保存在XML文件中是有好處的。請(qǐng)記住,XML有很強(qiáng)的跨平臺(tái)可移植性,并且數(shù)據(jù)無(wú)需轉(zhuǎn)換!
首先,我們將學(xué)習(xí)如何創(chuàng)建并保存一個(gè)XML文件。下面的這個(gè)XML文件將被命名為"test.xml",并被保存在服務(wù)器上的c目錄中。我們將使用ASP和微軟的XMLDOM對(duì)象來(lái)創(chuàng)建并保存這個(gè)XML文件:
<%
Dim xmlDoc, rootEl, child1, child2, p
'創(chuàng)建XML文檔
Set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
'創(chuàng)建根元素并將之加入文檔
Set rootEl = xmlDoc.createElement("root")
xmlDoc.appendChild rootEl
'創(chuàng)建并加入子元素
Set child1 = xmlDoc.createElement("child1")
Set child2 = xmlDoc.createElement("child2")
rootEl.appendChild child1
rootEl.appendChild child2
'創(chuàng)建 XML processing instruction
'并把它加到根元素之前
Set p=xmlDoc.createProcessingInstruction("xml","version='1.0'")
xmlDoc.insertBefore p,xmlDoc.childNodes(0)
'把文件保存到c目錄
xmlDoc.Save "c:\test.xml"
%>如果您打開(kāi)這個(gè)被保存的文件,它會(huì)使這個(gè)樣子("test.xml"):
<?xml version="1.0"?> <root> <child1 /> <child2 /> </root>
真實(shí)的表單例子
現(xiàn)在,我們看一個(gè)真實(shí)的表單例子。
我們首先看一下這個(gè)被用在例子中的HTML表單:下面的HTML表單要求用戶輸入他們的名字、國(guó)籍以及電子郵件地址。隨后這些信息會(huì)被寫(xiě)到一個(gè)XML文件,以便存儲(chǔ)。
"customers.htm":
<html> <body> <form action="saveForm.asp" method="post"> <h1>請(qǐng)輸入您的聯(lián)系信息:</h1> <label>名字: </label> <p><input type="text" id="fname" name="fname"></p> <label>姓氏: </label> <p><input type="text" id="lname" name="lname"></p> <label>國(guó)家: </label> <p><input type="text" id="country" name="country"></p> <label>郵件: </label> <p><input type="text" id="email" name="email"></p> <p> <input type="submit" id="btn_sub" name="btn_sub" value="Submit"> <input type="reset" id="btn_res" name="btn_res" value="Reset"> </p> </form> </body> </html>
用于以上HTML表單的action被設(shè)置為"saveForm.asp"。"saveForm.asp"文件是一個(gè)ASP頁(yè)面,可循環(huán)遍表單域,并把它們的值存儲(chǔ)在一個(gè)XML文件之中:
<%
dim xmlDoc
dim rootEl,fieldName,fieldValue,attID
dim p,i
'如果有錯(cuò)誤發(fā)生,不允許程序終止
On Error Resume Next
Set xmlDoc = server.CreateObject("Microsoft.XMLDOM")
xmlDoc.preserveWhiteSpace=true
'創(chuàng)建并向文檔添加根元素
Set rootEl = xmlDoc.createElement("customer")
xmlDoc.appendChild rootEl
'循環(huán)遍歷Form集
for i = 1 To Request.Form.Count
'除去表單中的button元素
if instr(1,Request.Form.Key(i),"btn_")=0 then
'創(chuàng)建field 和 value 元素,以及 id 屬性
Set fieldName = xmlDoc.createElement("field")
Set fieldValue = xmlDoc.createElement("value")
Set attID = xmlDoc.createAttribute("id")
'把當(dāng)前表單域的名稱設(shè)置為id屬性的值
attID.Text = Request.Form.Key(i)
'把id屬性添加到field元素
fieldName.setAttributeNode attID
'把當(dāng)前表單域的值設(shè)置為value元素的值
fieldValue.Text = Request.Form(i)
'將field元素作為根元素的子元素進(jìn)行添加
rootEl.appendChild fieldName
'將value元素作為field元素的子元素進(jìn)行添加
fieldName.appendChild fieldValue
end if
next
'添加X(jué)ML processing instruction
'并把它加到根元素之前
Set p = xmlDoc.createProcessingInstruction("xml","version='1.0'")
xmlDoc.insertBefore p,xmlDoc.childNodes(0)
'保存XML文件
xmlDoc.save "c:\Customer.xml"
'釋放所有的對(duì)象引用
set xmlDoc=nothing
set rootEl=nothing
set fieldName=nothing
set fieldValue=nothing
set attID=nothing
set p=nothing
'測(cè)試是否有錯(cuò)誤發(fā)生
if err.number<>0 then
response.write("Error: No information saved.")
else
response.write("Your information has been saved.")
end if
%>注釋:如果被指定的XML文件名已經(jīng)存在,那個(gè)文件會(huì)被覆蓋!
XML文件會(huì)由上面的代碼生成,大致的樣子是這樣的:("Customer.xml"):
<?xml version="1.0" ?>
<customer>
<field id="firstName">
<value>Hege</value>
</field>
<field id="lastName">
<value>Refsnes</value>
</field>
<field id="country">
<value>Norway</value>
</field>
<field id="email">
<value>[email protected]</value>
</field>
</customer>分享:解析關(guān)于XSL的基礎(chǔ)知識(shí)什么是XSL 全稱Extensible Style Language,中文譯作擴(kuò)展樣式語(yǔ)言,用于格式化XML文檔,它由兩部分組成. 1(XSLT ):XSL Transformation Language(XSLT),它可以把XML文檔從一種格式轉(zhuǎn)化為另一種格式.如轉(zhuǎn)成html,文本或是基于文本的文檔. 2( XPath):XSL格式
- xml創(chuàng)建節(jié)點(diǎn)(根節(jié)點(diǎn)、子節(jié)點(diǎn))
- WML開(kāi)發(fā)教程之 WAP網(wǎng)站服務(wù)器配置方法
- WMLScript的語(yǔ)法基礎(chǔ)
- 收集的WML Script標(biāo)準(zhǔn)函數(shù)庫(kù)
- WML教程之文本框控件Input
- 無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)
- xml文件的結(jié)構(gòu)解讀
- 關(guān)于XSL - XSL教程
- 選擇模式 - XSL教程 - 2
- XPath入門(mén) - XSL教程 - 3
- 匹配模式 - XSL教程 - 4
- 測(cè)試模式 - XSL教程 - 5
Xml教程Rss訂閱編程教程搜索
Xml教程推薦
- XML入門(mén)精解之結(jié)構(gòu)與語(yǔ)法
- XML輕松學(xué)習(xí)手冊(cè)(1)XML快速入門(mén)
- 淺談XML簡(jiǎn)易教程
- XML學(xué)習(xí)筆記(四)Schema介紹篇
- 解析XML輕松學(xué)習(xí)手冊(cè)(3)XML的術(shù)語(yǔ)
- XML教程之認(rèn)識(shí)學(xué)習(xí) XML 元素
- 應(yīng)當(dāng)如何使用XML語(yǔ)言
- XML卷之實(shí)戰(zhàn)錦囊(3):動(dòng)態(tài)分頁(yè)
- 談XML卷之實(shí)戰(zhàn)錦囊(1):動(dòng)態(tài)排序
- 了解 XML實(shí)現(xiàn)通用的數(shù)據(jù)訪問(wèn)
- 相關(guān)鏈接:
- 教程說(shuō)明:
Xml教程-如何向XML文件存儲(chǔ)數(shù)據(jù)
。