2013-03-11 87 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