c# 生成xml,显示问题。请高手赐教。

生成xml是,怎么生成的代码是对的,页面显示不对,右键查看源代码,存储为xml文件,就能正常显示,但是把生成的xml文件,直接response.write(xml.tostring()) 出来,就如图片显示,把所有的xml内容显示出来了,没有节点呢。  分析可能是以字符窜方式解析的,问不是xml。请高手赐教。一下是生成的源代码: 是用改了XmlDocument 和XmlTextWriter两种方法生成,输出结果都一样。我还试验了一下,保存一个文件,然后在读取文件,显示结果还是如图片,所以请高手赐教。   try        {            DataSetWebService GetService = new DataSetWebService();            Hashtable SqlCollection = new Hashtable();            SqlCollection.Add("ToAccess", "SELECT * from news where date between #" + DateTime.Now.AddMonths(-6).ToShortDateString() + "# and #" + DateTime.Now.ToShortDateString() + "#");            DictionaryEntry[] _DictEntry = new DictionaryEntry[SqlCollection.Count];            SqlCollection.CopyTo(_DictEntry, 0);            String _Context = ClsCommon.Serializer(_DictEntry);            DataSet ds = GetService.GetDataSet(_Context);             string linkStr = "";            string cssStr = "";            DataSet dt = GetService.GetDataTable("ToHKIE_APP_CMT", "select * from tbl_XmlSetup where DbName='ToAccess'");            if (dt != null && dt.Tables[0].Rows.Count > 0)            {                linkStr = dt.Tables[0].Rows[0]["Link"].ToString();                cssStr = dt.Tables[0].Rows[0]["CssContent"].ToString();            }             //方法一,用XmlDocument生成            XmlDocument xmlDoc = new XmlDocument();            XmlDeclaration declarNode = xmlDoc.CreateXmlDeclaration("1.0", Encoding.Default.ToString(), "yes");            xmlDoc.AppendChild(declarNode);            XmlComment xmlCom = xmlDoc.CreateComment("Copyright Innoways.com ");            xmlDoc.AppendChild(xmlCom);            XmlNode rootNode = xmlDoc.CreateElement("NEWES");            if (ds != null)            {                for (int i = 0; i < ds.Tables.Count; i++)                {                    foreach (DataRow row in ds.Tables[i].Rows)                    {                        XmlNode newNode = xmlDoc.CreateElement("NEWS");                        XmlNode newIDNode = xmlDoc.CreateElement("NEWS_ID");                        newIDNode.InnerText = row["serialno"].ToString();                        newNode.AppendChild(newIDNode);                         XmlNode dateNode = xmlDoc.CreateElement("DATE");                        dateNode.InnerText = ClsCommon.ConvertDateTimeToString(row["date"], "dd.MMM.yyyy");                        newNode.AppendChild(dateNode);                         XmlNode updateDateNode = xmlDoc.CreateElement("UPDATE_DATE");                        updateDateNode.InnerText = ClsCommon.ConvertDateTimeToString(row["update"], "dd.MMM.yyyy");                        newNode.AppendChild(updateDateNode);                         XmlNode deadDateNode = xmlDoc.CreateElement("DEAD_DATE");                        deadDateNode.InnerText = ClsCommon.ConvertDateTimeToString(row["deaddate"], "dd.MMM.yyyy");                        newNode.AppendChild(deadDateNode);                         XmlNode headLineNode = xmlDoc.CreateElement("HEADLINE");                        XmlCDataSection headLineCdata = xmlDoc.CreateCDataSection(CommonMethods.AddHtmlCode(row["headline"].ToString(), linkStr, linkStr));                        headLineNode.AppendChild(headLineCdata);                        newNode.AppendChild(headLineNode);                         XmlNode htmlNode = xmlDoc.CreateElement("HTML");                        XmlCDataSection htmlCdata = xmlDoc.CreateCDataSection(CommonMethods.AddHtmlCode(cssStr, row["desc"].ToString(), linkStr, linkStr));                        htmlNode.AppendChild(htmlCdata);                        newNode.AppendChild(htmlNode);                         XmlNode logoNode = xmlDoc.CreateElement("LOGO");                        XmlCDataSection logoCdata = xmlDoc.CreateCDataSection("http://demo.i-wanna.com/hkie_apps_xml/material/testing_default_logo.jpg");  //对应的logo地址                        logoNode.AppendChild(logoCdata);                        newNode.AppendChild(logoNode);                         XmlNode activeNode = xmlDoc.CreateElement("ACTIVE");                        activeNode.InnerText = row["active"].ToString();                        newNode.AppendChild(activeNode);                        rootNode.AppendChild(newNode);                    }                }            }            xmlDoc.AppendChild(rootNode);             MemoryStream stream = new MemoryStream();            XmlTextWriter writer = new XmlTextWriter(stream, Encoding.Default);            writer.Formatting = Formatting.Indented;            xmlDoc.Save(writer);            StreamReader reader = new StreamReader(stream, Encoding.Default);            stream.Position = 0;            String content = reader.ReadToEnd();            reader.Close();            stream.Close();            Response.Write(content);            ds.Dispose();            dt.Dispose();                            //方法二,用XmlTextWriter生成            //XmlTextWriter xmlWrite = new XmlTextWriter(Response.OutputStream, Encoding.Default);            //xmlWrite.WriteStartDocument();            //xmlWrite.Formatting = Formatting.Indented;            //xmlWrite.WriteComment("Copyright Innoways.com ");            //xmlWrite.WriteStartElement("NEWES");            //if (ds != null)            //{            //    for (int i = 0; i < ds.Tables.Count; i++)            //    {            //        foreach (DataRow row in ds.Tables[i].Rows)            //        {            //            xmlWrite.WriteStartElement("NEWS");            //            xmlWrite.WriteElementString("NEWS_ID", row["serialno"].ToString());            //            xmlWrite.WriteElementString("DATE", ClsCommon.ConvertDateTimeToString(row["date"], "dd.MMM.yyyy"));            //            xmlWrite.WriteElementString("UPDATE_DATE", ClsCommon.ConvertDateTimeToString(row["update"], "dd.MMM.yyyy"));            //            xmlWrite.WriteElementString("DEAD_DATE", ClsCommon.ConvertDateTimeToString(row["deaddate"], "dd.MMM.yyyy"));             //            xmlWrite.WriteRaw(@"" + CommonMethods.AddHtmlCode(cssStr, row["headline"].ToString(), linkStr, linkStr) + "");            //            //xmlWrite.WriteRaw("" + CommonMethods.AddHtmlCode(cssStr, row["desc"].ToString(), linkStr, linkStr) + "");            //            //xmlWrite.WriteRaw("" + CommonMethods.AddCDATA("http://demo.i-wanna.com/hkie_apps_xml/material/testing_default_logo.jpg") + "");             //            //xmlWrite.WriteElementString("HEADLINE", CommonMethods.AddHtmlCode(cssStr, row["headline"].ToString(), linkStr, linkStr));            //            //xmlWrite.WriteElementString("HTML", CommonMethods.AddHtmlCode(cssStr, row["desc"].ToString(), linkStr, linkStr));            //            //xmlWrite.WriteElementString("LOGO", CommonMethods.AddCDATA("http://demo.i-wanna.com/hkie_apps_xml/material/testing_default_logo.jpg")); //暂无此字段,等客户加上             //            xmlWrite.WriteElementString("ACTIVE", row["active"].ToString());            //            xmlWrite.WriteEndElement();            //        }            //    }            //}             //xmlWrite.WriteEndElement();            //xmlWrite.WriteEndDocument();             //xmlWrite.Flush();            //xmlWrite.Close();            //doc.Load("new.xml");            //Response.Write(doc.);            // File.Delete("new.xml");            //Stream sm = xmlWrite.BaseStream;            //XmlDocument doc = new XmlDocument();            //doc.Load(sm);            //string s = doc.InnerText;            //ds.Dispose();            //dt.Dispose();        }        catch (Exception ex)        {         }
ABOUTYOU
浏览 548回答 4
4回答

aluckdog

设置一下Response.ContentType吧

猛跑小猪

恩是,设置一下Response.ContentType

慕森王

非常谢谢你,真心的感谢你的回答,谢谢,但是楼上回答的早,只能给他了,谢谢你,好人总有好报~!

慕勒3428872

@blue_sky_alf: 没事,可以加关注,有问题随时交流嘛是不
打开App,查看更多内容
随时随地看视频慕课网APP