把數(shù)據(jù)存儲到 XML 文件

通常,我們在數(shù)據(jù)庫中存儲數(shù)據(jù)。不過,如果希望數(shù)據(jù)的可移植性更強,我們可以把數(shù)據(jù)存儲 XML 文件中。

一、關(guān)于xml

我感覺我對于xml了解的并不多,看完了劉偉的xml視頻,主要感覺講了兩部分:一個是關(guān)于xml的簡單介紹(包括與html對比,核心是關(guān)注數(shù)據(jù)傳輸處理和包含,發(fā)展,樹形結(jié)構(gòu)和組成元素);另一部分講了關(guān)于xml的驗證:dtd和schema。下面是我看視頻做的筆記:

在看《xml網(wǎng)頁技術(shù)實用教程》和上網(wǎng)查資料的時候,讓我覺得眼前一亮的就是:xml同樣也能保存用戶信息,存儲數(shù)據(jù)。書上給的是讀者信息的保存,我覺得這個東西應(yīng)該也能用到很多地方,之前看了寫了關(guān)于session和cookie的博客,也是存儲數(shù)據(jù)的。因為在項目中xml大多用于配置文件,額,好多時候是用于鏈接數(shù)據(jù)庫啊,啥啥啥。老覺得大材小用。

二、關(guān)于數(shù)據(jù)存儲xml的代碼

第一段代碼主要是看如何創(chuàng)建并保存一個 XML 文件。主要用了XMLDOM對象來創(chuàng)建保存。關(guān)于 XMLDOM對象有很多(點擊打開鏈接)代碼如下:

<%

DimxmlDoc,?rootEl,?child1,?child2,?p

'??創(chuàng)建XML文檔

SetxmlDoc?=?Server.CreateObject("Microsoft.XMLDOM")

'創(chuàng)建根元素并將之加入文檔

SetrootEl?=?xmlDoc.createElement("root")

xmlDoc.appendChild?rootEl

'創(chuàng)建并加入子元素

Setchild1?=?xmlDoc.createElement("child1")

Setchild2?=?xmlDoc.createElement("child2")

rootEl.appendChild?child1

rootEl.appendChild?child2

'創(chuàng)建?XML?processing?instruction

'并把它加到根元素之前

Setp=xmlDoc.createProcessingInstruction("xml","version='1.0'")

xmlDoc.insertBefore?p,xmlDoc.childNodes(0)

'把文件保存到?C?目錄

xmlDoc.Save"c:\test.xml"

%>

下面是關(guān)于把數(shù)據(jù)存儲到xml文件里面的一個小demo,里面主要注冊的例子因為xml是樹結(jié)構(gòu),所以只有一個根節(jié)點,多個樹節(jié)點,層次清晰。里面加載了一個已經(jīng)建立好的xml文件,然后在注冊界面進(jìn)行注冊的時候,信息就保存到xml里面:

//創(chuàng)建一個xml文檔(rname),用于添加(讀?。┤嗣鹯eadname

XmlDocument?rname?=newXmlDocument();

//加載登錄名單的xml文檔

rname.Load(@"...\...\File\dlfile.xml");

//查找namelist節(jié)點,并把它賦給root

XmlNode?root?=?rname.SelectSingleNode("namelist");

//配置realname節(jié)點,賦給cname(childname)

XmlElement?cname?=?rname.CreateElement("realname");

//配置name節(jié)點,賦給ccname

XmlElement?ccname?=?rname.CreateElement("name");

//向ccname節(jié)點中加入內(nèi)容

ccname.InnerText?=?textBox1.Text;

cname.AppendChild(ccname);

//加入年齡

XmlElement?ccsex?=?rname.CreateElement("sex");

ccsex.InnerText?=?comboBox1.Text;

cname.AppendChild(ccsex);

//加入地址

XmlElement?ccaddress?=?rname.CreateElement("address");

ccaddress.InnerText?=?textBox3.Text;

cname.AppendChild(ccaddress);

//加入身份證號碼

XmlElement?ccid?=?rname.CreateElement("idnumber");

ccid.InnerText=textBox4.Text;

cname.AppendChild(ccid);

root.AppendChild(cname);

//加入用戶名

XmlElement?username?=?rname.CreateElement("user");

username.InnerText?=?textBox5.Text;

root.AppendChild(username);

//加入密碼

XmlElement?pwd?=?rname.CreateElement("password");

pwd.InnerText?=?textBox6.Text;

root.AppendChild(pwd);

//加入ID(employee?ID,eID)

XmlElement?eID?=?rname.CreateElement("ID");

eID.InnerText?=?comboBox2.Text;

root.AppendChild(eID);

rname.Save(@"...\...\File\dlfile.xml");

//打開主窗體,關(guān)閉當(dāng)前窗體

this.fa.Visible?=true;

this.Visible?=false;

MessageBox.Show("恭喜您注冊成功");

三、關(guān)于XML的拓展

關(guān)于XML到底能干什么,我查了好多資料,寫的都很籠統(tǒng),找了幾個比較好的:

1、可以做為數(shù)據(jù)庫存儲數(shù)據(jù) 讀操作: 假如你的web應(yīng)用程序里有一個Products.xml,你可以用DataSet來讀取這個xml,然后綁定到DataList,DataGrid等的控件上 寫操作: 如果你建立一個購物車的DataTable,就可以將它寫入到xml文件中去

2、如果你會用xsl,可以將xml整合到首頁上,讓你更新網(wǎng)頁更容易,也很容易管理,樣式改動也方便

3、關(guān)于xml的技術(shù)太多了,xpath,xquery,xslt等等,包括語音標(biāo)記、矢量圖標(biāo)記等等,詳情請參照www.w3.org 。

4、一般的說,xml已經(jīng)廣泛的應(yīng)用,你用的office軟件保存的doc,xls等等的格式背后都是xml標(biāo)記,一些矢量圖的軟件Visio,做出的圖形其實都是基于xml技術(shù)的,ajax技術(shù)也是基于xml技術(shù)的

5、忘了最重要的一個未來會大大發(fā)展的技術(shù),web services,實質(zhì)也是xml的一種應(yīng)用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 非本人所寫,在學(xué)習(xí)的時候覺得寫的挺詳細(xì)的。分享一下。 XML文件是一種常用的文件格式,例如WinForm里面的ap...
    畢竟是秀秀啊閱讀 2,733評論 0 2
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,662評論 18 399
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 4,011評論 0 11
  • 心里想著一覺睡到中午,因為昨天刻意練習(xí)吉他到凌晨兩點,然后有學(xué)習(xí)了樂理。 或許是真的長歲數(shù)的年齡,不過才三被窩里十...
    memoryleak閱讀 466評論 0 0
  • 本章主要介紹SEO優(yōu)化工作中,在增加收錄技術(shù)方面需要了解的工作。本文版權(quán)由“ 北朔潛龍 ”所有,僅供學(xué)習(xí)使用,請勿...
    北朔潛龍閱讀 541評論 0 1

友情鏈接更多精彩內(nèi)容