我加入的 .NET开发者群号:429476891

导航

XmlTextWriter输出xml到页面的问题

protected void Page_Load(object sender, EventArgs e)
 {
            Response.ContentType = "text/xml";
            this.Response.Clear();
            XmlTextWriter xtw = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
            xtw.Formatting = Formatting.Indented;
            xtw.Indentation = 3;
            xtw.WriteStartDocument(true);
            xtw.WriteStartElement("data");
            xtw.WriteAttributeString("dd", "xx");
            xtw.WriteEndElement();
            xtw.WriteEndDocument();
            Response.End();
 }
 
输出的结果不对。最后从网上看到少了两句:
protected void Page_Load(object sender, EventArgs e)
 {
            Response.ContentType = "text/xml";
            this.Response.Clear();
            XmlTextWriter xtw = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
            xtw.Formatting = Formatting.Indented;
            xtw.Indentation = 3;
            xtw.WriteStartDocument(true);
            xtw.WriteStartElement("data");
            xtw.WriteAttributeString("dd", "xx");
            xtw.WriteEndElement();
            xtw.WriteEndDocument();
            xtw.Flush();
            xtw.Close();
            Response.End();
 }
 
经过测试, Flush和Close方法只要有其一就可以正常。最好应该是两个都要。真是郁闷,xmltextwriter竟然不能自己提交缓存。
另外需要注意Response.End()也不能缺少。
 

posted on 2008-07-29 00:28  信息加油站义工  阅读(522)  评论(0编辑  收藏  举报