我无法让内存流和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文本编写器?我有点迷茫,因为我正在按照它的一些指南来做它显示的所有内容,而是使用内存流,而它不起作用。
答案 0 :(得分:2)
您是否尝试删除-1
中的Length
?我认为输出中唯一缺少的是">"
。
Context.Response.OutputStream.Write(stmOutput.ToArray(), 0, (int)stmOutput.Length);