使用XmlTextWriter和MemoryStreams时遇到麻烦

时间:2009-10-27 15:31:02

标签: c# xml stream httphandler

我无法让内存流和XML文本编写器类正常协同工作。

Context.Reponse.BufferOutput=true;
Context.Response.ContentType = "application/xml";
stmOutput = new MemoryStream();
Output = new XmlTextWriter(stmOutput, Encoding.ASCII);
Output.WriteStartDocument();
Output.WriteStartElement("MyTag");
Output.WriteEndElement();
Output.WriteEndDocument();
Output.Flush();
stmOutput.Flush(); 
Context.Response.OutputStream.Write(stmOutput.ToArray(),0,(int)stmOutput.Length-1);
Context.Response.OutputStream.Flush();
Output.Close();

这是在ASHX文件中完成的。当我运行它时,所有输出都是

<?xml version="1.0" encoding="us-ascii"?><MyTag /

我是否遗漏了Response,内存流或XML文本编写器?我有点迷茫,因为我正在按照它的一些指南来做它显示的所有内容,而是使用内存流,而它不起作用。

1 个答案:

答案 0 :(得分:2)

您是否尝试删除-1中的Length?我认为输出中唯一缺少的是">"

Context.Response.OutputStream.Write(stmOutput.ToArray(), 0, (int)stmOutput.Length);