2010-11-10 83 views
1

我試圖從返回的IHttpHandler一個XML字符串到這樣的:如何將XML返回給響應流?

context.Response.Write(xml); 

當我收到我的.aspx.cs響應我嘗試如下加載文檔:

var xml = XDocument.Load(xmlString); 

但我得到一個Illegal Characters in Path錯誤消息。

我也試過

context.Response.Write(context.Server.HtmlEncode(xml)); 

var xml = XDocument.Load(Server.HtmlDecode(xmlString)); 

,但我得到了同樣的信息。有什麼辦法可以從我的IHttpHandler返回XML嗎?

+0

我真不明白你在做什麼?特別是整個「接受我的.aspx.cs響應」。 'xmlString'從哪裏來?你能概述你的應用程序的流程嗎? – Charlino 2010-11-10 00:53:19

回答

4

替換此:

var xml = XDocument.Load(xmlString); 

與此:

var xml = XDocument.Parse(xmlString); 
1

XDocument.Load(String)需要一個文件路徑。您想使用接受Reader對象的重載之一。

1

嘗試設置context.Response.ContentType = "application/xml"

顯然也確保XML結構良好,MSDN具有從HTTP處理程序返回的XML的一個例子。

嘗試將XML放入驗證器(或在瀏覽器中打開)以突出顯示任何問題。