电子科技论文发表Asp.net系统下应用XML数据实现动态导航的设计
所属栏目:计算机应用论文
发布时间:2015-11-13 15:03:11 更新时间:2015-11-13 15:19:08
Web应用程序是一种可以通过Web访问的应用程序。Web应用程序的一个最大好处是用户很容易访问应用程序。在web系统设计开发中有很多中技术是需要掌握的,本文是一篇电子科技论文发表范文,主要论述了Asp.net系统下应用XML数据实现动态导航的设计。
摘 要:在Asp.net开发的Web系统设计中,利用呈现层、中间层和数据层这种三层设计模式将treeview控件、xmldatasource控件及xml文件有效地结合在一起,通过DOM和Linq to Xml技术适时地更新xml数据,实现动态导航的设计。设计中充分利用了Linq to Xml新技术的优势和高效,编写出表达能力更强、更为紧凑、功能更强的代码。
【关键词】动态导航,Linq,to,xml,Xml
1 Asp.net下导航的应用
1.1 treeview控件的使用
treeview控件是Asp.net下用来显示分层信息的树型结构控件,常用来显示菜单、导航、地图这一类的分层数据。此控件作为数据绑定控件显示被绑定的数据。此控件在系统中作为“呈现层”来显示导航信息。
1.2 Xmldatasource控件的使用
XmlDataSource 控件是向数据绑定控件(如:treeview控件)提供 XML 数据的数据源控件。XmlDataSource 通常从 DataFile 属性指定的 XML 文件中加载 XML 数据,作为数据源如:XmlDataSource.DataFile=”menu.xml”。
XmlDataSource 控件的GetXmlDocument 方法来检索 XmlDataDocument 对象,该对象是 XML 数据在内存中的表示形式。如:xmldoc = XmlDataSource.GetXmlDocument。此控件在系统中作为“中间层”来为呈现层提供数据源。
1.3 Xml文件的应用
将导航中的菜单选项、链接地址及显示属性等信息以Xml格式存储在文件中,作为系统的“数据层”。如:
2 Asp.net系统中导航的结构及实现动态导航的三种方法
动态导航的结构由三层组成,分别是呈现层、中间层及数据层,所以任何动态导航编程方法的实现,都是以三层中的某一层为核心入手的:
(1)呈现层:对treeview的节点进行增加与删除。
(2)中间层:通过Xmldocument对其中元素进行增加与删除。
(3)数据层:实现对XML文件内容的增加与删除或调用不同的XML文件。
在以呈现层为核心的设计中,treeview控件是一个自动显示容器,随着绑定数据的不同,呈现不一样的界面,与数据源绑定后,其表现出来的数据,只与数据源数据的内容与数量有关,一般不需要设计人员在运行时刻动态更新。在运行时刻动态更新树型结构时,树型节点编辑代码冗长、算法复杂,数据边界设计更是要小心、严谨,使得设计出来的系统代码行数多、效率低、健壮性差、易出错。
在以数据层为核心的设计中,由于对保存在磁盘中的xml文件频繁进行读写操作,使得系统的运行效率变差,安全性降低;同时,多用户实时对XML文件进行读取时,会引起数据冲突,不能保证每个用户会读到自己正确的数据,由此会造成数据故障。
3 Xml数据的动态导航的实现
综上所述,在动态导航的设计中应该遵循对中间层(xmldatasoure和xmldocument)进行实时动态的修改,以达到动态效果。
3.1 实现机制与逻辑结构(模型搭建)
图1
A.由XmlDataSource控件装载menu.xml文件。
B.由XmlDataSource控件的GetXmlDocument方法从内存中读取xml数据到xmldocment对象。
C.将xmldocment对象赋值给xelement对象。
D.对xelement对象进行动态修改。
E.将xelement对象赋值给xmldocment对象。
F. 内存xmldocment对象自动绑定treeview控件,使其呈现动态数据。
3.2 代码实现
Dim qxstr As String = "110010101001"
字符串变量qxstr中1代表此菜单选项被显示,0表示不显示
Dim xmldoc As XmlDocument = XmlDataSource1.GetXmlDocument
Dim xel As XElement = XElement.Parse(xmldoc.OuterXml)
将DOM模式中的xmldocument对象转换为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
动态修改xElement元素中的属性show的值,显示的设为1不显示的为0
Dimc2=From m In xel.DescendantsWhere m.Attribute("show")="0" Select m
c2.Remove()
动态删除XElement对象中不显示的元素
xmldoc.LoadXml(xel.ToString)
利用编辑过的XElement对象更新内存xmldocument对象,实现treeview控件的动态呈现
4 结论
本文有效地利用了DOM模式与Linq to Xml模式的优点,提供了一种利用XML数据绑定treeview控件来实现动态导航的模式与机制,使得web系统中的动态导航或动态菜单的实现变得更加简单和方便、效率更高。
参考文献
[1]罗玉.基于XML数据库查询优化技术的研究[D].西南交通大学,2014
[2]谷瑜青.XML数据库及其应用研究[J].电脑编程技巧与维护,2015,(10):80-81
[3]吴��丁,冯运仿,罗健等.XML提高数据库与界面交互性的研究[J].网络安全技术与应用,2015,(3):64-65.
电子科技论文发表期刊推荐:《山西电子技术》是山西省电子信息产业唯一公开发行的专业技术期刊。在30年的办刊过程中,刊物一直坚持电子信息行业交流信息,探讨技术的园地,主要宣传报道电子信息领域新技术、新成果;为我省电子信息产业发展服务的办刊宗旨。