2013-03-11 83 views
1

我有ASP页面中的下一个代码,但我想检索一个外部XML文件。有谁知道我该怎么做?加载外部xml

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> 
<% 
'Load XML 
set xml = Server.CreateObject("Microsoft.XMLDOM") 
xml.async = false 
xml.load(Server.MapPath("resp2.xml")) 

'Load XSL 
set xsl = Server.CreateObject("Microsoft.XMLDOM") 
xsl.async = false 
xsl.load(Server.MapPath("resp.xsl")) 

'Transform file 
Response.Write(xml.transformNode(xsl)) 
%> 
+0

你所说的 “外部” 的文件意思?动态上传/即时上传? – 2013-03-11 08:36:48

+0

从另一台服务器 – 2013-03-11 08:40:43

+0

什么媒介?文件共享? http请求?等 – 2013-03-11 08:52:19

回答

2

请尝试以下

'Load XML 
set xml = Server.CreateObject("Microsoft.XMLDOM") 
xml.setProperty "ServerHTTPRequest", true 
xml.async = false 
xml.validateOnParse = false 
xml.load("http://yourdomain.com/resp2.xml") 
+1

working!谢谢 – 2013-03-11 11:29:36

+0

如果文件是ASP类型并且在本地服务器中,那么该怎么办? – 2013-03-11 15:36:05

+0

一个asp文件可以输出xml,就像它可以输出html一样容易,并且您可以使用服务器可以看到的任何URL - 所以只要http://localhost/myfile.asp输出有效的XML,它应该可以正常工作 – John 2013-03-11 18:15:57

1

尝试使用ServerXMLHTTP对象:

Dim xmlReq, sResponse 
Set xmlReq = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0") 
Call xmlReq.open("GET", "http://host/dir/page.xml") 
Call xmlReq.send() 
If (xmlReq.status = 200) Then 
    sResponse = xmlReq.responseText 

End If 
+0

你好,当使用你的代码时,我得到一个错误:“对象不支持这个属性或方法:'TransformNode'” – 2013-03-11 10:34:49

+0

仅用于从外部资源获取数据的代码。在您收到sResponse变量中的内容后,将它们传递到您的代码中,如'code'xml.loadXML(sResponse)'code' – VMV 2013-03-11 10:52:56