Web應(yīng)用程序是一種可以通過Web訪問的應(yīng)用程序。Web應(yīng)用程序的一個(gè)最大好處是用戶很容易訪問應(yīng)用程序。在web系統(tǒng)設(shè)計(jì)開發(fā)中有很多中技術(shù)是需要掌握的,本文是一篇電子科技論文發(fā)表范文,主要論述了Asp.net系統(tǒng)下應(yīng)用XML數(shù)據(jù)實(shí)現(xiàn)動(dòng)態(tài)導(dǎo)航的設(shè)計(jì)。
摘 要:在Asp.net開發(fā)的Web系統(tǒng)設(shè)計(jì)中,利用呈現(xiàn)層、中間層和數(shù)據(jù)層這種三層設(shè)計(jì)模式將treeview控件、xmldatasource控件及xml文件有效地結(jié)合在一起,通過DOM和Linq to Xml技術(shù)適時(shí)地更新xml數(shù)據(jù),實(shí)現(xiàn)動(dòng)態(tài)導(dǎo)航的設(shè)計(jì)。設(shè)計(jì)中充分利用了Linq to Xml新技術(shù)的優(yōu)勢和高效,編寫出表達(dá)能力更強(qiáng)、更為緊湊、功能更強(qiáng)的代碼。
【關(guān)鍵詞】動(dòng)態(tài)導(dǎo)航,Linq,to,xml,Xml
1 Asp.net下導(dǎo)航的應(yīng)用
1.1 treeview控件的使用
treeview控件是Asp.net下用來顯示分層信息的樹型結(jié)構(gòu)控件,常用來顯示菜單、導(dǎo)航、地圖這一類的分層數(shù)據(jù)。此控件作為數(shù)據(jù)綁定控件顯示被綁定的數(shù)據(jù)。此控件在系統(tǒng)中作為“呈現(xiàn)層”來顯示導(dǎo)航信息。
1.2 Xmldatasource控件的使用
XmlDataSource 控件是向數(shù)據(jù)綁定控件(如:treeview控件)提供 XML 數(shù)據(jù)的數(shù)據(jù)源控件。XmlDataSource 通常從 DataFile 屬性指定的 XML 文件中加載 XML 數(shù)據(jù),作為數(shù)據(jù)源如:XmlDataSource.DataFile=”menu.xml”。
XmlDataSource 控件的GetXmlDocument 方法來檢索 XmlDataDocument 對象,該對象是 XML 數(shù)據(jù)在內(nèi)存中的表示形式。如:xmldoc = XmlDataSource.GetXmlDocument。此控件在系統(tǒng)中作為“中間層”來為呈現(xiàn)層提供數(shù)據(jù)源。
1.3 Xml文件的應(yīng)用
將導(dǎo)航中的菜單選項(xiàng)、鏈接地址及顯示屬性等信息以Xml格式存儲(chǔ)在文件中,作為系統(tǒng)的“數(shù)據(jù)層”。如:
2 Asp.net系統(tǒng)中導(dǎo)航的結(jié)構(gòu)及實(shí)現(xiàn)動(dòng)態(tài)導(dǎo)航的三種方法
動(dòng)態(tài)導(dǎo)航的結(jié)構(gòu)由三層組成,分別是呈現(xiàn)層、中間層及數(shù)據(jù)層,所以任何動(dòng)態(tài)導(dǎo)航編程方法的實(shí)現(xiàn),都是以三層中的某一層為核心入手的:
(1)呈現(xiàn)層:對treeview的節(jié)點(diǎn)進(jìn)行增加與刪除。
(2)中間層:通過Xmldocument對其中元素進(jìn)行增加與刪除。
(3)數(shù)據(jù)層:實(shí)現(xiàn)對XML文件內(nèi)容的增加與刪除或調(diào)用不同的XML文件。
在以呈現(xiàn)層為核心的設(shè)計(jì)中,treeview控件是一個(gè)自動(dòng)顯示容器,隨著綁定數(shù)據(jù)的不同,呈現(xiàn)不一樣的界面,與數(shù)據(jù)源綁定后,其表現(xiàn)出來的數(shù)據(jù),只與數(shù)據(jù)源數(shù)據(jù)的內(nèi)容與數(shù)量有關(guān),一般不需要設(shè)計(jì)人員在運(yùn)行時(shí)刻動(dòng)態(tài)更新。在運(yùn)行時(shí)刻動(dòng)態(tài)更新樹型結(jié)構(gòu)時(shí),樹型節(jié)點(diǎn)編輯代碼冗長、算法復(fù)雜,數(shù)據(jù)邊界設(shè)計(jì)更是要小心、嚴(yán)謹(jǐn),使得設(shè)計(jì)出來的系統(tǒng)代碼行數(shù)多、效率低、健壯性差、易出錯(cuò)。
在以數(shù)據(jù)層為核心的設(shè)計(jì)中,由于對保存在磁盤中的xml文件頻繁進(jìn)行讀寫操作,使得系統(tǒng)的運(yùn)行效率變差,安全性降低;同時(shí),多用戶實(shí)時(shí)對XML文件進(jìn)行讀取時(shí),會(huì)引起數(shù)據(jù)沖突,不能保證每個(gè)用戶會(huì)讀到自己正確的數(shù)據(jù),由此會(huì)造成數(shù)據(jù)故障。
3 Xml數(shù)據(jù)的動(dòng)態(tài)導(dǎo)航的實(shí)現(xiàn)
綜上所述,在動(dòng)態(tài)導(dǎo)航的設(shè)計(jì)中應(yīng)該遵循對中間層(xmldatasoure和xmldocument)進(jìn)行實(shí)時(shí)動(dòng)態(tài)的修改,以達(dá)到動(dòng)態(tài)效果。
3.1 實(shí)現(xiàn)機(jī)制與邏輯結(jié)構(gòu)(模型搭建)
圖1
A.由XmlDataSource控件裝載menu.xml文件。
B.由XmlDataSource控件的GetXmlDocument方法從內(nèi)存中讀取xml數(shù)據(jù)到xmldocment對象。
C.將xmldocment對象賦值給xelement對象。
D.對xelement對象進(jìn)行動(dòng)態(tài)修改。
E.將xelement對象賦值給xmldocment對象。
F. 內(nèi)存xmldocment對象自動(dòng)綁定treeview控件,使其呈現(xiàn)動(dòng)態(tài)數(shù)據(jù)。
3.2 代碼實(shí)現(xiàn)
Dim qxstr As String = "110010101001"
字符串變量qxstr中1代表此菜單選項(xiàng)被顯示,0表示不顯示
Dim xmldoc As XmlDocument = XmlDataSource1.GetXmlDocument
Dim xel As XElement = XElement.Parse(xmldoc.OuterXml)
將DOM模式中的xmldocument對象轉(zhuǎn)換為Linq to Xml模式中的xElement對象
Dim c1 = From m In xel.Descendants.Attributes("show")Select m
Dim i As Integer = 0
For Each xattIn c1
xatt.Value = qxstr.Substring(i, 1)
i = i + 1
Next
動(dòng)態(tài)修改xElement元素中的屬性show的值,顯示的設(shè)為1不顯示的為0
Dimc2=From m In xel.DescendantsWhere m.Attribute("show")="0" Select m
c2.Remove()
動(dòng)態(tài)刪除XElement對象中不顯示的元素
xmldoc.LoadXml(xel.ToString)
利用編輯過的XElement對象更新內(nèi)存xmldocument對象,實(shí)現(xiàn)treeview控件的動(dòng)態(tài)呈現(xiàn)
4 結(jié)論
本文有效地利用了DOM模式與Linq to Xml模式的優(yōu)點(diǎn),提供了一種利用XML數(shù)據(jù)綁定treeview控件來實(shí)現(xiàn)動(dòng)態(tài)導(dǎo)航的模式與機(jī)制,使得web系統(tǒng)中的動(dòng)態(tài)導(dǎo)航或動(dòng)態(tài)菜單的實(shí)現(xiàn)變得更加簡單和方便、效率更高。
參考文獻(xiàn)
[1]羅玉.基于XML數(shù)據(jù)庫查詢優(yōu)化技術(shù)的研究[D].西南交通大學(xué),2014
[2]谷瑜青.XML數(shù)據(jù)庫及其應(yīng)用研究[J].電腦編程技巧與維護(hù),2015,(10):80-81
[3]吳��丁,馮運(yùn)仿,羅健等.XML提高數(shù)據(jù)庫與界面交互性的研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2015,(3):64-65.
電子科技論文發(fā)表期刊推薦:《山西電子技術(shù)》是山西省電子信息產(chǎn)業(yè)唯一公開發(fā)行的專業(yè)技術(shù)期刊。在30年的辦刊過程中,刊物一直堅(jiān)持電子信息行業(yè)交流信息,探討技術(shù)的園地,主要宣傳報(bào)道電子信息領(lǐng)域新技術(shù)、新成果;為我省電子信息產(chǎn)業(yè)發(fā)展服務(wù)的辦刊宗旨。
轉(zhuǎn)載請注明來自:http://www.jinnzone.com/jisuanjiyingyonglw/55241.html