Asp.net WriteStartDocument()引发InvalidOperationException
我试图生成XML,但遇到以下异常:Asp.net WriteStartDocument()引发InvalidOperationException,asp.net,xml,xmltextwriter,Asp.net,Xml,Xmltextwriter,我试图生成XML,但遇到以下异常: XmlTextWriter xmlWriter = new XmlTextWriter(Response.OutputStream, Encoding.UTF8); xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement("userInfo"); 这给了我一个例外: WriteStartDocument需要是第一个调用。 但正如您所看到的,我确实首先调用了WriteStartDocument(
XmlTextWriter xmlWriter = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("userInfo");
这给了我一个例外:
WriteStartDocument需要是第一个调用。
但正如您所看到的,我确实首先调用了WriteStartDocument()
有什么想法吗?但是响应流中已经有其他东西(例如HTTP头)
最好将XML写入StringWriter,然后将字符串写入响应 但是,响应流中已经有其他内容(例如HTTP头)
最好将XML写入StringWriter,然后将字符串写入响应 不要忘记清除aspx文件中的内容,以便只剩下页面指令,即:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
不要忘记清除aspx文件中的内容,以便只剩下页面指令,即:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
尝试使用以下方法:
XmlTextWriter xmlWriter = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.WriteStartDocument(false);
xmlWriter.WriteStartElement("userInfo");
尝试使用以下方法:
XmlTextWriter xmlWriter = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.WriteStartDocument(false);
xmlWriter.WriteStartElement("userInfo");
还是一样。我在页面加载中有这个代码,这会影响它吗?还是一样。我在页面加载中有这个代码,这会影响它吗?你有什么奇怪的事情吗?我刚刚完全按照您的方式尝试了代码,它工作得很好,即使我事先写了一些响应的东西。我不知道为什么这不起作用。我刚在一个新项目上试用过,效果很好。只是不在我的VPC环境中。这很奇怪,它现在可以正常工作,没有任何变化。你有什么奇怪的事情吗?我刚刚完全按照您的方式尝试了代码,它工作得很好,即使我事先写了一些响应的东西。我不知道为什么这不起作用。我刚在一个新项目上试用过,效果很好。只是不在我的VPC环境中。这很奇怪,它现在工作没有任何变化。