欢迎来到天天文库
浏览记录
ID:22675164
大小:83.00 KB
页数:12页
时间:2018-10-30
《asp+xml+javascript实现动态无限级联动菜单》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、ASP+XML+JavaScript实现动态无限级联动菜单我做某个项目时,有需求的是做一个动态的无限级的联动菜单。由于本人比较懒于是上网找找有关的代码,但很多都没有满足需求,其中有一编文章是用JavaScript对XML文件操作来实现无限级联动菜单的,我们可结合ASP来完成对数据库值的读取,然后写入XML文件,再用JavaScript读出来并且控制它的联动。这儿的关键是把数据库内的N层数据类读出来:我的数据库表结构是这样的:’tbl_Class列名数据类型长度说明ClassIDint4类IDModu
2、leIDint4模块IDGroupIDint2标识一个组ClassNamenvarchar50类别名称ParentIDint2连接到组(0表示是父类)’####################################我的ASP代码如下##########################################’我把连接数据库的代码忽略。’函数名字:OpenXml(FileName)’入口参数:filename需要连接或打开的xml文件名’返回值:XmlDoc就是一个成功装载XML文档
3、的对象了。’有错误则打印错误信息strError’------------------------------------------------functionOpenXml(filename)dimstrSourceFile,XmlDoc,strErrorstrSourceFile=filenameSetXmlDoc=Server.CreateObject("Microsoft.XMLDOM")’创建XMLDOM实例XmlDoc.async=falseXmlDoc.load(strSourceF
4、ile)OpenXml=XmlDoc.parseerror.errorcodeifXmlDoc.parseerror.errorcode<>0thenstrError="<h2>error"XmlDoc.parseerror.errorcode"</h2>"strError=strErrorXmlDoc.parseerror.reason"<br>"strError=strErrorXmlDoc.parseerror.url"<br>"st
5、rError=strErrorXmlDoc.parseerror.line"<br>"strError=strErrorXmlDoc.parseerror.filepos"<br>"strError=strErrorXmlDoc.parseerror.srcText"<br>"response.l=XmlDoc’返回实例endifendfunction’------------------------------------------------’函数名字:Cl
6、oseXml()’参数:XmlDocXML组件实例’------------------------------------------------functionCloseXml(XmlDoc)ifIsObject(XmlDoc)thensetXmlDoc=nothingendifendfunction’------------------------------------------------’函数名字:SelectXmlNode’参数:XmlDocXML组件实例’ e元素的名字’返回元素
7、实例’------------------------------------------------functionSelectXmlNode(XmlDoc,e)dimnsetn=XmlDoc.selectSingleNode("//"e) 12345下一页>>>>这篇文章来自..,。;setselectXmlNode=nendfunctionDimn,np,MaxGroup,root,xmlDoc,nt,filename,s,ss,TorFfilename=server.mappath(
8、"demo.xml")setxmlDoc=openXML(filename)’打开XMLRemoveAllNodesxmlDoc,"Root"’把Root和它下面的子项清除,这样可以多次方便读写setroot=xmlDoc.createElement("Root")xmlDoc.appendChildroot’创建一个顶层元素sql="selectMax(GroupID)fromtbl_Class"’读出最大的层次setrs=.execute(sql)ifisnull
此文档下载收益归作者所有