ASP+XML制作菜单管理!

作者:网络 来源:佚名 更新时间:2008-11-06 21:49:50 点击:
国内最大的酷站演示中心!
menu.asp  这个是前台执行部分

quote:
<%
'---------------------------------------
'作者:野 草
'日期:2006年4月24日
'q  q:94440079
'51群:21643964(51js.com的群)
'网站:http://www.yecaoweb.com or http://www.yecaoweb.net
'---------------------------------------
'读取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数据文件

quote:
<?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文件部分

quote:
<%
'利用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>