ASP XML制作菜单管理程序

  以下是menu.asp代码

  程序代码

  <%

  '---------------------------------------

  '作者:野 草

  '日期:2006年4月24日

  'Q Q:94440079

  '---------------------------------------

  '读取XML文件函数

  Function YCMS_menu()

  dim menu_temp,m

  Set goxml=Server.CreateObject("Microsoft.XMLDOM")

  goxml.load(Server.MapPath("menu.xml"))

  Set goroot=goxml.documentElement.selectSingleNode("menu")

  m=0

  For each child in goroot.childNodes

  set childmenu=goroot.childnodes.item(m)

  Dim menu_open,menu_title,menu_url

  menu_open=childmenu.getAttributeNode("open").nodeValue

  menu_name=childmenu.getAttributeNode("name").nodeValue

  menu_url=goroot.childNodes.item(m).text

  '判断是否是弹出窗口

  If menu_open=0 Then

  '判断是否是第一个,若是第一个则去掉"┊"

  If m=0 Then

  menu_temp=menu_temp&"<a href='"&menu_url&"'>"&menu_name&"</a>"

  Else

  menu_temp=menu_temp&"┊<a href='"&menu_url&"'>"&menu_name&"</a>"

  End If

  Else

  If m=0 Then

  menu_temp=menu_temp&"<a href='"&menu_url&"' target='o'>"&menu_name&"</a>"

  Else

  menu_temp=menu_temp&"┊<a href='"&menu_url&"' target='o'>"&menu_name&"</a>"

  End If

  End If

  set childmenu=nothing

  m=m+1

  next

  set goroot=nothing

  set goxml=nothing

  YCMS_menu=menu_temp

  End Function

  '输出XML菜单

  response.write(YCMS_menu())

  %>

  以下是menu.xml代码:

  程序代码

  <?xml version="1.0" encoding="gb2312"?>

  <xml>

  <menu>

  <url name="网站首页" open="0">index.asp</url>

  <url name="新闻动态" open="0">News.asp</url>

  <url name="文章中心" open="0">Art.asp</url>

  <url name="图片展示" open="0">Pic.asp</url>

  <url name="影音娱乐" open="0">Dj.asp</url>

  <url name="资源下载" open="0">Down.asp</url>

  <url name="留言讨论" open="0">Book.asp</url>

  <url name="友情连接" open="0">Link.asp</url>

  </menu>

  </xml>

  admin_menu.asp 后台管理XML文件部分

  以下是admin_menu.asp

  程序代码

  <%

  '利用ADO.Stream组件保存文件

  Function Save(file_body,file_name)

  Set OS=Server.CreateObject("ADODB.Stream")

  OS.Type=2

  OS.Open

  OS.Charset="GB2312"

  OS.Position=OS.Size

  OS.WriteText=file_body

  OS.SaveToFile Server.MapPath(file_name),2

  OS.Close

  Set OS=Nothing

  End Function

  if Request.QueryString("action")="ok" then

  call Save(Request.Form("content"),"menu.xml")

  end if

  %>

  <html>

  <head>

  <title></title>

  </head>

  <body>

  <form action="?action=ok" method="post">

  <textarea style='width:500px;height:200px;' name='content'>

  <%=server.execute("menu.xml")%>

  </textarea>

  <input type='submit' value='修 改' />

  </form>

  </body>

  </html>