XML&XSL&ASP

icefireren 2004-11-26 03:22:02
我想实现这样一个页面:一个完整得asp页面,其中包含一段类似代码<Response.write strXML>,strXml是一个完整的xml文件字符串,同时这个xml字符串里联动着一个xsl文件,总体目标就是想在asp页面里读取外部传来的xml文件流数据输出到页面上,而输出时的格式是由xsl来确定的(这个xsl只负责显示xml相关的数据,其他的一些头文件之类的都写在asp页面里),不知道有没有可能实现?不大懂啊!

最好能给个简单页面例子,谢谢各位,分不够再加!
...全文
235 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
icefireren 2004-11-30
  • 打赏
  • 举报
回复
我理解下来就是如果我这个asp还包含了其他html标签,那么xsl是无法关联的,但如果我的asp页面只包含了以下代码,xsl是关联得上的:例如a.asp
<% @Language = "VBScript" %>
<%
Dim strXml
strXml = "<?xml version='1.0' encoding='GB2312' ?><?xml-stylesheet href='CheckSchema.xsl' type='text/xsl' ?><root><Test><Items ><Item tag='abcd'><Name>12345</Name></Item></Items></Test></root>"
Response.write strXml %>
注意我去掉了所有相关html标签,这时候xsl是可以用的,因为我的是纯xml文件了:(,但这样的确不能符合我的要求。

以上几位高手给我的回答是不是能这样理解?我的需求是无法实现的?能否给个确切答复?

另外谢谢各位了,我在这也开了个贴,大家去那留几句话,我也一起结贴了,辛苦大家了!再次感谢
http://community.csdn.net/Expert/topic/3597/3597359.xml?temp=.1937372
icefireren 2004-11-29
  • 打赏
  • 举报
回复
楼上朋友帮忙找找,真的急用,谢谢了
wcqgm 2004-11-29
  • 打赏
  • 举报
回复
以前有一个朋友给了我一个比较经典的程序,我现在找不到了.
icefireren 2004-11-29
  • 打赏
  • 举报
回复
我这样是可以输出xml里面的节点内容的,但是连接的xsl是不起作用的
<% @Language = "VBScript" %>
<html><body>
<center><h2>测试信息</h2></center>
<div align="center"><center>
<%
Dim strXml
strXml = "<?xml version='1.0' encoding='GB2312' ?><?xml-stylesheet href='CheckSchema.xsl' type='text/xsl' ?><root><Test><Items ><Item tag='abcd'><Name>12345</Name></Item></Items></Test></root>"
Response.write strXml %>
</center></div>
</body></html>
icefireren 2004-11-29
  • 打赏
  • 举报
回复
急啊
香椿炒鸡蛋 2004-11-29
  • 打赏
  • 举报
回复
这个倒是没弄过 以前是绑定的
icefireren 2004-11-29
  • 打赏
  • 举报
回复
:(看来我要去学语文了,我表达能力太差了

我得意思是对于asp是不需要解析任何xml文件得,他只管把xml当作普通字符串输出,也就是说asp里根本不会用到MSXML,不知道这样清楚了吗?
yqh1314 2004-11-29
  • 打赏
  • 举报
回复
来迟了!哎呀 可惜可惜要问题都解决了! 捧你场来了!
椅子 2004-11-29
  • 打赏
  • 举报
回复
类似问题也困惑过我,下面这个帖子就是
http://community.csdn.net/Expert/topic/3330/3330399.xml?temp=.3412897

我后来的解决方案借鉴了mssql错误处理的办法,就是一个存储过程调用另一个存储过程。
而你的解决办法colee(浪漫的惊喜) 和我都贴出来了,我甚至把客户端解析的代码都贴出来了。
只有通过dom才能实现二次解析!!!
椅子 2004-11-29
  • 打赏
  • 举报
回复
Response.Write 是给客户端输出,也就是说,xml代码已经被如实的返回给ie了,你只能看到xml

你虽然没说清楚,但我分析,你追求的是ie将xml文件二次解析。
那么ie会二次解析吗?我们做个试验,将""><?xml-stylesheet type=""text/xsl"" href=""sample.xsl""?>改成""><?xml-stylesheet type=""text/xsl"" href=""http://xxx.com/sample.xsl""?>

结果是xml。
为了证明xsl文件和xml文件的确能正常解析,将asp文件返回的源代码另存到本地,运行,发现,xsl解析了xml文件。

所以,我们知道了ie不会对iis返回的代码二次解析。
dachangtui 2004-11-29
  • 打赏
  • 举报
回复
楼主是不是想用asp来生成xml文件?
icefireren 2004-11-29
  • 打赏
  • 举报
回复
谢谢楼上兄弟们,不过还是与我得要求不符啊!我不想asp来用dom对象,只想输出xml字符串。

不过不管怎样,回答了的,分一定有,谢谢各位了
椅子 2004-11-29
  • 打赏
  • 举报
回复
又搞了个测试代码,但是楼主用xml来做什么?
我们学习xml不是为了学习xml而学习xml。
<% @Language = "VBScript" %>
<html>
<body>
<div id="aaa">
</div>
</body>
</html>
<%

Dim strXml
strXml = "<xml id=""xmldoc""><?xml-stylesheet type=""text/xsl"" href=""sample.xsl""?><catalog><book id=""bk104""><author>Corets, Eva</author><title>Oberon's Legacy</title><genre>Fantasy</genre><price>5.95</price><publish_date>2001-03-10</publish_date><description>a</description></book></catalog></xml>"

Response.write strXml
Response.write "<script>"
Response.write "var xml = new ActiveXObject(""MSXML2.DOMDocument.3.0"");"
Response.write "var xsl = new ActiveXObject(""MSXML2.DOMDocument.3.0"");"
Response.write "xml.async = false;"
Response.write "xsl.async = false;"
Response.write "var xml=xmldoc;"
Response.write "xsl.load(""http://192.168.0.254/sample.xsl"");"
Response.write "aaa.innerHTML=xml.transformNode(xsl);"
Response.write "</script>"

%>
liuyangxuan 2004-11-29
  • 打赏
  • 举报
回复
嗯。右键原代码吧。
Coolyu0916 2004-11-29
  • 打赏
  • 举报
回复
<%@ Language=VBScript %>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<LINK rel="stylesheet" type="text/css" href="../css/default.css">
<title>人员列表</title>
</HEAD>
<SCRIPT LANGUAGE=JAVASCRIPT SRC="../Lib/InputChk.js"></SCRIPT>
<script LANGUAGE="javascript" src="../Lib/SortTable.js"></script>
<SCRIPT LANGUAGE=javascript>
<!--
function outtext(Per)
{
if(Per&1==1) document.write("个人级");
if(Per&2==2) document.write("部门级");
if(Per&4==4) document.write("企业级");
}

function window_onload() {
SortTable(divtable,"Name");
init.style.visibility = "hidden";
}

function post()
{
form1.submit();
}
//-->
</SCRIPT>

<BODY LANGUAGE=javascript onload="return window_onload()">
<center>
<div id="init"><b>正在加载数据,请稍候....<b></div>
<xml id="xml" src="ListData.asp" async="false">
</xml>
<xml id="xsl" src="PersonList.xsl" async="false">
</xml>
<form name="form1" action="delAcc.asp" method="post">
<div id="divtable"></div>
</form>
『<a href="EditPerson.asp?PersonID=0">新增</a>』
『<a href="javascript:post()">删除</a>』
</center>
</BODY>
</HTML>
=================================
用数据岛啊
我的很多项目都这样用
别人就是查看源代码页什么都看不到
这是我项目里面一个页面
椅子 2004-11-29
  • 打赏
  • 举报
回复
以下代码在vb6运行通过

Dim xml As New MSXML2.DOMDocument30
Dim xsl As New MSXML2.DOMDocument30

xml.async = False
xsl.async = False

xml.Load (App.Path & "/data.xml") ' 你可以改成xml.loadXml("xxx")
xsl.Load (App.Path & "/sample.xsl")


Text1.Text = (xml.transformNode(xsl)) 'asp改成Response.Write xml.transformNode(xsl)
椅子 2004-11-29
  • 打赏
  • 举报
回复
用dom,把解析完的html输出
gu1dai 2004-11-27
  • 打赏
  • 举报
回复
研究研究
colee 2004-11-26
  • 打赏
  • 举报
回复
<% @Language = "VBScript" %>
<%Response.Charset = "gb2312"%>

<html><body>
<center><h2>测试信息</h2></center>
<div align="center"><center>
<%
Dim strXml
strXml = "<?xml version='1.0' encoding='GB2312' ?><root><Test><Items ><Item tag='abcd'><Name>12345</Name></Item></Items></Test></root>"

Dim oXML,oXSL
Set oXML=Server.CreateObject("MSXML.DOMDocument")
Set oXML=Server.CreateObject("MSXML.DOMDocument")
oXML.loadXML strXml
oXSL.loadXML "CheckSchema.xsl"

Response.write oXML.transformNode(oXSL)

%>


</center></div>
</body></html>
icefireren 2004-11-26
  • 打赏
  • 举报
回复
以上就是我想实现的结果,一打开这个asp页面就可以看到xsl定义的格式输出,不知道这样是不是能说得更清楚点?:(
加载更多回复(6)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧