admin 管理员组文章数量: 1184232
2024年4月20日发(作者:instructed sla (isla))
维普资讯
2007年3月 浙江纺织服装职业技术学院学报 第l期第69页
ASP环境下XML的实现
项 力
摘要:随着XML技术的发展,用XML表示的信息也将普遍存在。XML将是新一代网络数据显示与运行的关键技术。
本文介绍了一种在ASP中通过文件对象模型DOM(XML的一种应用程序接口)访问XML的方法。
关键词:XML;DOM;使用
中图分类号:TP393.09
一
文献标识码:0 文章编号:1671—9751(2007)01-0069-03
、
XML简介
或HTML文件中所有的数据。因为在结构化文件
中,数据是按层次化的树状结构组成的,所以结构
XML(Extensible Markup Language)是一种
基于文本格式的标记语言,它注重对数据结构和数
据意义的描述,实现数据内容和显示样式的分离,
而且与平台无关。由于XML注重数据内容的描述,
因而,对于数据的检索非常有意义,使我们不会再
象HTML那样,检索出与要求无关的信息。另一
方面,XML文件是数据的载体,利用它作为数据
库,不需要访问任何数据库系统,我们可以使用任
意WEB技术来显示数据,比如HTML,Flash5等。
对XML文档的处理有统一的应用程序接口
(API),一种是基于文档树的DOM标准,一种是
化文件的模型也一定是树状的。DOM解析器将
XML文档一次性解析,生成一个位于内存中的对
象树用以描述该文档。
利用DOM,可以动态地创建文档,遍历文档
结构,添加、修改、删除文档内容,改变文档的显
示方式等等。可以这样说,文档代表了文档中的数
据,而DOM则代表了如何去管理这些数据的方法。
三、XMLDOM的使用
我们以一个简单的网上调查系统为例,来具体
探讨在ASP环境中调用DOM接口来实现对XML
的控制,并利用XML数据来存储信息,达到同用
数据库存储数据的功能。在这个调查系统中,我们
要实现如下功能:调查内容的显示与接受用户的投
票,以及显示投票结果;增加、删除与修改调查。
基于事件的SAX。在这里我们主要探讨在ASP环
境中怎样用DOM来控制XML。
二、DOM简介
DOM(Document Object Mode1)即文档对象模
型,是HTML文档以及XML文档的应用程序接
口,是一种与平台和语言无关的接口。它允许程序
和脚本动态访问和修改文档的内容、结构和类型。
DOM中的最基本对象是Node,从它又衍生出许多
类型的Node,有Document,Element,Attribute等。
这些Node会组成一个树状结构,其中包含XML
(一)建立存储调查信息的XML文件
(Pol1.xm1),并以此进行讨论。
<?xml version ”1.0”encoding ”GB23 1 2”?>
<polllist>
<poll time ”2006—06—06”>
<name>调查名:关于学习资源库的建设
收稿日期:2006—12—14
作者简介:项力,男, 浙江纺织服装职业技术学院 (浙江宁波315211)
维普资讯
第1期第7O页
name.>
项力:ASP环境下XML的实现 2007年3月
首先,根据树形图获取根结点:Setroot=pol—
llist.documentElement
<type>调查类型:资源建设</type>
<author email ”xiangli@zjf.net”neta,ddress
”172.31.9.222”netname=”教育快活王”>项力</auth-
其次,判断是否有子结点信息:if
root.haschildnodes 0 then。若没有,则显示错误
or>
<content>
<item hit=”15”>学习资源库的建设重在内容
item>
<item hi=t”26”>学习资源库的建设重在使用</
item>
/<content>
<directions>本调查旨在了解学习资源库建设
的方向</directions>
/<poll>
</polllist>
(二)建立显示XML数据的ASP文件
这个文件要实现的功能就是读取并显示XML
数据,首先创建一个XML对象然后把XML读入
内存中,利用DOM分离出我们所要的数据。
1.建立和加载一个DOM对象
首先创建一个DOM对象,以此获得了对XML
文档进行操作的入口;然后加载XML文件,具体
方法为:
Set polllist=server.CreateObject(”microso—
1f.xmldom”)
polllist.async False
polllist.1oad(Server.MapPath(”pol1.xml”))
2.DOM树的访问
在文档加载完毕之后就可以使用documentEle—
ment属性访问根元素,一旦建立了对DOM树中
某个节点(例如根节点)的引用,就可以根据节
点问的等级关系调用适当的方法进行遍历。然后在
该XML文档中定位到指定的调查内容,遍历所有
调查项目,让它以特定的格式显示出来。
Pol1.xml生成的树形结构如图所示:
信  ̄<%else response.write”当前没有调查!”%>。
若存在,则遍历各子结点:
Set pollNode=root.childNodes.item(number)
Set nameNode=pollNode.childNodes.item(0)
Set typeNode pollNode.childNodes.item(1)
Set authorNode=pollNode.childNodes.tiem(2)
Set contentNode=pollNode.childNodes.item(3)
Set directionsNode=pollNode.childNodes.item
(4)
然后在特定的地方显示出来,方法如下:
<%response.write”<form name='of瑚‘method=
‘post‘action=‘dopol1.asp?number=”&number&”‘×
table width=280 border='l‘align=‘center‘border—
color=BLACK bgcolor=’#E8F1E3‘>”
Set textNode=nameNode.childNodes.item(O)
name=textNode.nodeValue
response.write”<tr bgcolor=‘#O00099'><td bor-
dercolor=BLUE><div alig11:‘center。><font color='#
FFFFFF‘size=5>”&name&”</font></div></td></tr>
”%l>
依此方法显示其它结点值。值得注意的是对
comem结点值的显示,可用循环方法实现:
<%for i=0 to contentNode.childnodes.1ength.1
set itemnode=contentnode.childnodes.item(i)
Set textNode=itemNode.childNodes.item(0)
item=textNode.nodeValue
response.write”<tr><td bordercolor=BLUE><
div><input type=‘radio‘name= item‘value=”&i&”>”
&item&“</div></td></tr>”
next%>
(三)接收用户投票
接收用户投票过程即是修改xML文件的过程。
在这里只要把用户选中的调查项目对应的hit属性
值加1,再把修改过的内容保存好就行了。
Set root=polllist.documentElement
Set pollNode=root.childNodes.item(number)
set contentnode=pollnode.childnodes.item(3)
set itemnode=contentnode.childnodes.item(item)
维普资讯
2007年3月 浙江纺织服装职业技术学院学报 第1期第71页
Set attr=itemNode.attributes.getNamedItem(-t
contentNode.childNodes.item(0).appendChild
hit”)
attrContent=attr.nodeValue
(textNode)
attrcontent=cint(attrcontent)+1
attr.nodevalue=attrcontent
使用node接口的remow ̄Child方法可以删除
DOM树的结点。如果想删除根下的结点,具体方法
是:set o1dllode root.removeChild(root.childNodes.
Item(0))
四、结束语
polllist.save(Server.MapPath(”pol1.xml”))
(四)增加和删除结点
使用node接口的appendChild方法可以为
DOM树增加结点,但事先要先创建元素结点。建
立元素结点的方法是document接口的createE1.
ement方法,然后再在指定位置插入结点,用node
接口的insertBefore方法进行。
DOM确实是功能强大,特别是表现在它对
XML的控制上,更是几近完美。只要对XML文
档的结构有一个基本了解,再利用DOM的强大功
能,我们就可以方便地在ASP应用服务器端解析
XML文档,从解析结果中选择合适的内容发送给
客户端。它适用于任何语言环境,而且使用方便,
值得推广应用。
参考文献
如要为调查增加一个项目,内容为“其他”:
先创建一个名为item的元素,把它作为子元素插
入到content元素中,然后再创建一个内容为“其
他”的文本结点追加到刚插入的item节点。
下面是在已经创建的DOM对象Polllist的结
构中增加结点的方法。
Set contentNode=root.childNodes.item(3)
[1]黄泳瑜,徐蕙英.《)【ML网页设计应用基础教程》[M].北
京:中国铁道出版社,2006.
[2]丘广华,张文敏.《 L编程实例教程》[M].北京:科学出
Set newNode=polllist.createElement(”item”)
Set rtnNode=node.insertBefore(newNode,con—
tentNode.ifrstChild)
版社,2004.
[3]陈勤意.《陈长念网页设计梦之队丛书——)【ML&AsP网页
程序设计》[M].北京:清华大学出版社,2001.
Set textNode=polllist.createTextNode(”其他”)
The ReaIization of XML under ASP Environment
XIANG Li
Abstract:With the development ofXML technique,information expressed in XML will widely exist.XML
will be a key technique of showing and running network data in new generation.This paper ntiroduces n印一a
proach to visit XML n iASP through Document Object Model…an application program interface ofXML.
Key words:XML;DOM;application
(责任编辑陈超拔)
版权声明:本文标题:ASP环境下XML的实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713564427a640973.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论