我无法让内存流和 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 文本编写器的某些内容?我有点迷路了,因为我正在按照一个小指南来做它显示的所有事情,而是使用内存流,但它不起作用。 .
最佳答案
您是否尝试过删除 Length
中的 -1
?我认为输出中唯一缺少的是 ">"
。
Context.Response.OutputStream.Write(stmOutput.ToArray(), 0, (int)stmOutput.Length);
关于c# - 将 XmlTextWriter 与 MemoryStreams 一起使用时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1631627/