如何将XML返回到Response流?

时间:2010-11-10 00:25:24

标签: c# asp.net xml ihttphandler

我正在尝试从IHttpHandler返回一个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吗?

3 个答案:

答案 0 :(得分:4)

替换这个:

var xml = XDocument.Load(xmlString);

用这个:

var xml = XDocument.Parse(xmlString);

答案 1 :(得分:1)

XDocument.Load(String)采用文件路径。您想使用其中一个接受Reader对象的重载。

答案 2 :(得分:1)

尝试设置context.Response.ContentType = "application/xml"

显然还要确保XML格式正确,MSDN有一个从HTTP处理程序返回XML的示例。

尝试将XML放入验证器(或在浏览器中打开)以突出显示任何问题。