------------------
feedback.aspx页面内容:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Feedback.aspx.cs" Inherits="CNJY.Web.Feedback" %>
<%=Xmlstr %>--------------------
feedback.aspx.cs的内容:
 public partial class Feedback : System.Web.UI.Page
    {
        public string Xmlstr=null;
        protected void Page_Load(object sender, EventArgs e)
        {
            Main();        } 
        
        public void Main() 
        {            XmlDocument doc = new XmlDocument();
            doc.LoadXml("<root></root>");
            XmlDeclaration  xmldecl = doc.CreateXmlDeclaration("1.0", "gb2312", null);            XmlElement root = doc.DocumentElement;
            doc.InsertBefore(xmldecl, root);            XmlCDataSection CData = doc.CreateCDataSection(getCdata());
            doc.DocumentElement.AppendChild(CData);             //XmlTextWriter writer = new XmlTextWriter("D:\\data.xml",null); 
            //writer.Formatting = Formatting.Indented; 
            //doc.Save(writer); 
            Xmlstr = doc.OuterXml;
         }
                public static string getCdata() {
            StringBuilder strTmp = new StringBuilder();
            strTmp.Append("<div><h3 class=\"float_ctrl\"><em></em><span><a href=\"javascript:;\" class=\"float_close\" onclick=\"floatwin('close_report');\" title=\"关闭\">关闭</a></span></h3><div class=\"float_message\">");
            strTmp.Append("<br />这里是测试内容<br /></div></div>");
            return strTmp.ToString();
        }
    }------------------------------------
运行后IE浏览器网页,就是不按照以往的xml代码格式显示,似乎是以html格式显示的, 用firefox查看网页,是空白的,没有内容。查看网页的源代码,是符合xml格式规范的文档:
<?xml version="1.0" encoding="gb2312"?><root><![CDATA[<div><h3 class="float_ctrl"><em></em><span><a href="javascript:;" class="float_close" onclick="floatwin('close_report');" title="关闭">关闭</a></span></h3><div class="float_message"><br />这里是测试内容<br /></div></div>]]></root>
我漏了什么地方呢?

解决方案 »

  1.   

    编码问题....NET创建的文本文件默认是UTF-8编码,而你指定了该XML文件的编码是GB2312...当然会出错...删除encoding属性或者以ANSI编码保存文件...
      

  2.   

    我在网站config中已经指定了gb2312的,全站都是gb2312
      

  3.   

    用firefox看看是否正常?我这里打开是空白的,
    http://www.cycoo.net/demo/asp2xml.asp这个文件内容是:
    <?xml version="1.0" encoding="gb2312"?><root><![CDATA[这是一个ASP生成XML的测试!]]></root>
      

  4.   

    哦...没注意看,你这个不是创建XML文件,你的标题不对...在页面里输出是不行的...要加HTTP Header或者用IHttpHandler输出...
      

  5.   


    说到关键地方了
    asp.net生成xml 中如何加HTTP Header 关于xml的申明呢?