資源描述:
《asp+xml+javascript實現(xiàn)動態(tài)無限級聯(lián)動菜單》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、ASP+XML+JavaScript實現(xiàn)動態(tài)無限級聯(lián)動菜單我做某個項目時,有需求的是做一個動態(tài)的無限級的聯(lián)動菜單。由于本人比較懶于是上網找找有關的代碼,但很多都沒有滿足需求,其中有一編文章是用JavaScript對XML文件操作來實現(xiàn)無限級聯(lián)動菜單的,我們可結合ASP來完成對數(shù)據(jù)庫值的讀取,然后寫入XML文件,再用JavaScript讀出來并且控制它的聯(lián)動。這兒的關鍵是把數(shù)據(jù)庫內的N層數(shù)據(jù)類讀出來:我的數(shù)據(jù)庫表結構是這樣的:’tbl_Class列名數(shù)據(jù)類型長度說明ClassIDint4類IDModu
2、leIDint4模塊IDGroupIDint2標識一個組ClassNamenvarchar50類別名稱ParentIDint2連接到組(0表示是父類)’####################################我的ASP代碼如下##########################################’我把連接數(shù)據(jù)庫的代碼忽略?!瘮?shù)名字:OpenXml(FileName)’入口參數(shù):filename需要連接或打開的xml文件名’返回值:XmlDoc就是一個成功裝載XML文檔
3、的對象了?!绣e誤則打印錯誤信息strError’------------------------------------------------functionOpenXml(filename)dimstrSourceFile,XmlDoc,strErrorstrSourceFile=filenameSetXmlDoc=Server.CreateObject("Microsoft.XMLDOM")’創(chuàng)建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’------------------------------------------------’函數(shù)名字:Cl
6、oseXml()’參數(shù):XmlDocXML組件實例’------------------------------------------------functionCloseXml(XmlDoc)ifIsObject(XmlDoc)thensetXmlDoc=nothingendifendfunction’------------------------------------------------’函數(shù)名字:SelectXmlNode’參數(shù):XmlDocXML組件實例’ e元素的名字’返回元素
7、實例’------------------------------------------------functionSelectXmlNode(XmlDoc,e)dimnsetn=XmlDoc.selectSingleNode("http://"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’創(chuàng)建一個頂層元素sql="selectMax(GroupID)fromtbl_Class"’讀出最大的層次setrs=.execute(sql)ifisnull