2012-02-26 51 views
0
HttpContext.Current.Response.ContentType = "text/xml"; 
HttpContext.Current.Response.ContentEncoding = Encoding.UTF8; 

HttpPostedFile file = HttpContext.Current.Request.Files[0]; 

XDocument doc = XDocument.Load(XmlReader.Create(file.InputStream)); 

var wr = new StringWriter(); 
doc.Save(wr); 
HttpContext.Current.Response.Write(serializer.Serialize(wr.GetStringBuilder().ToString())); 

这导致了一个损坏的xml文件。字符串看起来像这样:在通用处理程序中写入xml文件以响应

"\u003c?xml version=\"1.0\" encoding=\"utf-16\"?\u003e\r\n\u003cAuditSheet\u003e\r\n \u003cPLANT_SITE_CUSTOMER_NAME\u003eZINIFEX HOBART SMELTER\u003c/PLANT_SITE_CUSTOMER_NAME\u003e\r\n 

我在这里错过了一些明显的东西吗?我需要手动删除\r\n吗?谢谢

回答

0

你不应该序列化字符串。

相反,您应该通过调用doc.Save(response.Output)直接写入HTTP响应。

+0

是的,刚刚注意到。要从序列化JSON复制粘贴:-)感谢您的回答 – Johan 2012-02-26 17:58:05

相关问题