2012-08-24 77 views
0

假設我有一個包含文件:如何加載動態生成的XML文件?

<% 
    Response.write("<my_tag>value</my_tag>") 
%> 

如果我把它作爲一個普通的XML文件,我得到一個錯誤,告訴我說,XML有不正確的格式,因爲它開始由「<%」。我怎樣才能讀取這個動態生成的XML?

編輯:

事實上,這是一種錯覺。 Server.Execute方法只是打印另一個文件。我能做什麼 ?我怎麼能把一個ASP頁面的結果放在一個我可以通過loadXML方法讀取的字符串中?或者我怎麼能在加載之前處理文件?

+0

菲爾,這不是一個XML文件。 – FJT

+0

這是一個ASP文件輸出一些類似XML的標籤。您的標題建議您要加載此文件。如何,按什麼?將其加載到服務器上的ASP代碼中,或者將其加載到瀏覽器中? –

+0

@Diodeus:從另一個ASP文件加載它。 – user1553136

回答

0

給它一個ASP知道要處理的文件擴展名,或者告訴ASP處理你正在使用的文件擴展名。服務器必須知道處理文件併爲您提供動態結果。它不會將每個文件都視爲傳統的ASP文件,您必須告訴它如何處理文件,就好像您使用的是ASP的非標準擴展。您可以通過將傳統ASP處理程序映射到您嘗試HTTP GET的文件類型來完成此操作。

+0

擴展名爲.asp,並且該文件未由服務器處理。有沒有一個ASP命令來強制它? – user1553136

+0

是的!它適用於我使用「Server.Execute」! – user1553136

+0

Oups!忘記我的樣子。見下文。 – user1553136

0

使用擴展名爲.asp,並設置內容類型:

<% 
Response.CharSet = "utf-8" 
Response.Buffer = True 
Response.ContentType="text/xml" 

Response.Write "<?xml version=""1.0"" encoding=""utf-8""?>" 
Response.Write "<my_tag>value</my_tag>" 

Response.Flush 
%> 

你可以看看這裏:http://www.w3.org/TR/REC-xml/

+0

服務器無論如何都不處理該文件。這導致「一個名字從一個無效字符開始」。錯誤。 – user1553136