【已解决】请教url访问xml文件传递参数载入xsl
时间:2005-09-12
来源:互联网
想实现的就是,访问url的参数传递到xml后,通过判断参数选择载入的xsl模版
比如 http://www.xxx.com/default?about 类似,隐藏原始文件后缀更好
载入default.xml+about.xsl
天马上要亮了,吐血中。。。。咳。咳。
[ 本帖由 一叶千鸟 最后编辑于 2005-9-12 17:40 ]
作者: 一叶千鸟 发布时间: 2005-09-12
隐藏后缀..
建个default文件夹..default.xml改成default.asp
就可以这样传了.
呵..我也不知道我说的是什么了...
作者: 小男 发布时间: 2005-09-12
显然这不是我的本意,xml改后缀能否正常运行,严重怀疑
作者: 一叶千鸟 发布时间: 2005-09-12
作者: 小男 发布时间: 2005-09-12
<script src=a.asp></script>一个道理呢?
作者: 小男 发布时间: 2005-09-12
我要的还是数据,结构分离,xml内插脚本,不伦不类
作者: 一叶千鸟 发布时间: 2005-09-12
作者: JSTOP 发布时间: 2005-09-12
'Load the XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("default.xml"))
'Load the XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("default.xsl"))
Response.Write(xml.transformNode(xsl))
%>
获取访问参数,替换下边xsl.load(Server.MapPath("default.xsl")) 中的default,还可以直接生成html在客户端显示,保护源码。
以上思路够清晰吧,那位兄台帮我写下,嘿嘿
[ 本帖由 一叶千鸟 最后编辑于 2005-9-12 15:30 ]
作者: 一叶千鸟 发布时间: 2005-09-12
.
我的意思就是用ASP...
有什么不伦不类的呢..?
作者: 小男 发布时间: 2005-09-12
作者: JSTOP 发布时间: 2005-09-12
作者: 小男 发布时间: 2005-09-12
看来可以尝试一下!
不过8楼的方法是比较正规的!
作者: JSTOP 发布时间: 2005-09-12
关键是参数的传递咋整,default.xml是全站的数据,xsl就分开,我是这个意思。
asp俺就不行了,我就知道这个asp解析xml的代码,应该完全可以保护xml和xsl的。
作者: 一叶千鸟 发布时间: 2005-09-12
XML文件和XSL文件内容完全不变. 只是后缀名变成了.asp
这样的话你就可以取参数了.
你在8楼的方法我也做过. 以前我做的JS+xml+XSL树就是用你8楼的方法做的.
如果为了保护源码还是用8楼的方法吧
作者: JSTOP 发布时间: 2005-09-12
改个简单的..
<% 'Load the XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath(Request("url"))) 'Load the XSL set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath("default.xsl")) Response.Write(xml.transformNode(xsl)) %>
提示:您可以先修改部分代码再运行
访问时.defult.asp?url=default.xml
就行了..呵..把路径打上去...就行了.
作者: 小男 发布时间: 2005-09-12
只是增加一段服务器端处理程序,达到两个目地:
1,获取url参数,分别载入xsl
2,服务器端解析成html
比如我们客户端访问就是如此:
http://www.xxx.com/default.asp?a 载入a.xsl
http://www.xxx.com/default.asp?b 载入b.xsl
作者: 一叶千鸟 发布时间: 2005-09-12
你这样一整,XML不就暴露了么,请看我16楼说明
最好是把default.asp也隐藏了,达到如此效果:
http://www.xxx.com/?a
http://www.xxx.com/?b
作者: 一叶千鸟 发布时间: 2005-09-12
这样...要不就写到ASP程序里...判断querystring...
有多要页要写多少个CASE..
还有一种,页面多的请就是把XML和XSL存入数据库...用ID来区别..
你是要改模版???
不是改数据??
晕..有点看8懂啦....呵..
作者: 小男 发布时间: 2005-09-12
假设URL为http://www.xxx.com?default&about
我的测试URL为 http://localhost/XXX/index.asp?default&about
<%@ Language="VBS" %>
<%
Dim sParams
Dim ary,i
sParams=Request.serverVariables("QUERY_STRING")
if sParams<>"" then '参数不为空时操作
if inStr(sParams,"&") then
ary=split(sParams,"&")
for i=0 to ubound(ary)
Response.Write(ary(i) & "<br>")'这里将循环输出default 和 about
next
else
Response.Write(sParams)'假如只有一个参数那就直接输出
end if
end if
%>
以上代码只做输出, 值都取到了,你可以根据实际情况更改!
作者: JSTOP 发布时间: 2005-09-12
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% Dim xml,xsl xml="default.xml" xsl="default.xsl" Select Case Request.QueryString Case "a" xml="a.xml" xsl="a.xsl" Case "b" xml="b.xml" xsl="b.xsl" Case Else Response.write "Error" Response.end End Select set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath(xml)) set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath(xsl)) Response.Write(xml.transformNode(xsl)) %>
提示:您可以先修改部分代码再运行
作者: 小男 发布时间: 2005-09-12
狠感谢两位:P
[ 本帖由 一叶千鸟 最后编辑于 2005-9-12 17:19 ]
作者: 一叶千鸟 发布时间: 2005-09-12
JSTOP的程序不错,但源码还是要从参数获取上泄露,是很不错的获取url参数的例子
小男的程序变量定义重复了,程序是有问题,稍微改一下就可以,我把xml固定以后就满足本人的需求了,很不错的例子
作者: 一叶千鸟 发布时间: 2005-09-13
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28