我正在尝试从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吗?
答案 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放入验证器(或在浏览器中打开)以突出显示任何问题。