是否可以从ASP classic中的远程服务器加载XSL样式表

时间:2013-09-23 08:32:19

标签: xml xslt asp-classic

我没有服务器上的磁盘访问权限,所以我需要从远程位置加载XSL样式表。

而不是......

set xsl = Server.CreateObject("MSXML2.DOMDocument")
xsl.async = false
xsl.load(Server.MapPath("xsl.xsl"))

是否可以加载XSL样式表?

xsl.Open "get", "http://www.example.com/xsl.xsl" , False
xsl.Send

如果无法满足上述要求,可以将样式表放在ASP文件内部。如果是这样,那怎么办呢?

更新 - 完整代码

Dim xml, xsl, url, url2

url = "https://www.example.xml"
url2 = "http://www.example.com/xsl/xsl.xsl"
Set xml =  Server.CreateObject("Microsoft.XMLHTTP")
xml.Open "get", url, False
xml.Send
Response.ContentType = "text/xml"

set xsl = Server.CreateObject("MSXML2.DOMDocument")
xsl.async = false

xsl.load(Server.MapPath("xsl.xsl"))

'xsl.Open "get", url2, False
'xsl.Send

Response.AddHeader "Content-Type", "text/xml;charset=UTF-8"
Response.CodePage = 65001
Response.CharSet = "UTF-8"
Response.Write xml.responseXML.transformNode(xsl)

1 个答案:

答案 0 :(得分:0)

尝试

Dim req, sheet
Set req = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0")
req.open "GET", "http://example.com/sheet.xsl", False
req.send
If req.status = 200 Then
  Set sheet = req.responseXML
  ...
Else
  '  handle HTTP problems here
End If