我在获取内存流和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文本编写器?我有点迷失了,因为我正在按照它的指导去做它显示的所有事情,但是使用了内存流,并且它不起作用。 。

最佳答案

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

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

关于c# - 使用XmlTextWriter和MemoryStreams遇到麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1631627/

10-11 06:55