- ·上一篇文章:将asp程序制作成为安装版:xml打包和解包
- ·下一篇文章:XML与HTML文件的区别
ASP+XML制作菜单管理
menu.asp 
这个是前台执行部分 
引用: 
<
% 
&
#39
--------------------------------------- 
&
#39
作者:野 
草 
&
#39
日期:2006年4月24日 
&
#39
Q 
Q:94440079 
&
#39
51群:21643964(51JS.COM的群) 
&
#39
网站:http://www.yecaoweb.com 
OR 
http://www.yecaoweb.net 
&
#39
--------------------------------------- 
&
#39
读取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 
&
#39
判断是否是弹出窗口 
If 
menu_open=0 
Then 
&
#39
判断是否是第一个,若是第一个则去掉"
┊"
 
If 
m=0 
Then 
menu_temp=menu_temp&
#38
"
<
a 
href=&
#39
"
&
#38
menu_url&
#38
"
&
#39
>
"
&
#38
menu_name&
#38
"
<
/a>
"
 
Else 
menu_temp=menu_temp&
#38
"
┊<
a 
href=&
#39
"
&
#38
menu_url&
#38
"
&
#39
>
"
&
#38
menu_name&
#38
"
<
/a>
"
 
End 
If 
Else 
If 
m=0 
Then 
menu_temp=menu_temp&
#38
"
<
a 
href=&
#39
"
&
#38
menu_url&
#38
"
&
#39
 
target=&
#39
o&
#39
>
"
&
#38
menu_name&
#38
"
<
/a>
"
 
Else 
menu_temp=menu_temp&
#38
"
┊<
a 
href=&
#39
"
&
#38
menu_url&
#38
"
&
#39
 
target=&
#39
o&
#39
>
"
&
#38
menu_name&
#38
"
<
/a>
"
 
End 
If 
End 
If 
set 
childmenu=nothing 
m=m+1 
next 
set 
goroot=nothing 
set 
goxml=nothing 
YCMS_menu=menu_temp 
End 
Function 
&
#39
输出XML菜单 
response.write(YCMS_menu()) 
%>
 
menu.xml 
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文件部分 
引用: 
<
% 
&
#39
利用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=&
#39
width:500px
height:200px
&
#39
 
name=&
#39
content&
#39
>
 
<
%=server.execute("
menu.xml"
)%>
 
<
/textarea>
 
<
input 
type=&
#39
submit&
#39
 
value=&
#39
修 
改&
#39
 
/>
 
<
/form>
 
<
/body>
 
<
/html>
 
这个是前台执行部分 
引用: 
<
% 
&
#39
--------------------------------------- 
&
#39
作者:野 
草 
&
#39
日期:2006年4月24日 
&
#39
Q 
Q:94440079 
&
#39
51群:21643964(51JS.COM的群) 
&
#39
网站:http://www.yecaoweb.com 
OR 
http://www.yecaoweb.net 
&
#39
--------------------------------------- 
&
#39
读取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 
&
#39
判断是否是弹出窗口 
If 
menu_open=0 
Then 
&
#39
判断是否是第一个,若是第一个则去掉"
┊"
 
If 
m=0 
Then 
menu_temp=menu_temp&
#38
"
<
a 
href=&
#39
"
&
#38
menu_url&
#38
"
&
#39
>
"
&
#38
menu_name&
#38
"
<
/a>
"
 
Else 
menu_temp=menu_temp&
#38
"
┊<
a 
href=&
#39
"
&
#38
menu_url&
#38
"
&
#39
>
"
&
#38
menu_name&
#38
"
<
/a>
"
 
End 
If 
Else 
If 
m=0 
Then 
menu_temp=menu_temp&
#38
"
<
a 
href=&
#39
"
&
#38
menu_url&
#38
"
&
#39
 
target=&
#39
o&
#39
>
"
&
#38
menu_name&
#38
"
<
/a>
"
 
Else 
menu_temp=menu_temp&
#38
"
┊<
a 
href=&
#39
"
&
#38
menu_url&
#38
"
&
#39
 
target=&
#39
o&
#39
>
"
&
#38
menu_name&
#38
"
<
/a>
"
 
End 
If 
End 
If 
set 
childmenu=nothing 
m=m+1 
next 
set 
goroot=nothing 
set 
goxml=nothing 
YCMS_menu=menu_temp 
End 
Function 
&
#39
输出XML菜单 
response.write(YCMS_menu()) 
%>
 
menu.xml 
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文件部分 
引用: 
<
% 
&
#39
利用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=&
#39
width:500px
height:200px
&
#39
 
name=&
#39
content&
#39
>
 
<
%=server.execute("
menu.xml"
)%>
 
<
/textarea>
 
<
input 
type=&
#39
submit&
#39
 
value=&
#39
修 
改&
#39
 
/>
 
<
/form>
 
<
/body>
 
<
/html>
 
ASP+XML制作菜单管理