<?xml version='1.0' encoding='gb2312' ?>
 <result>
 <rows>
  <row>
   <title> <![CDATA[sunny]]></title>
   <value><![CDATA[5]]></value>  
   </row>
  <row>
   <title> <![CDATA[sunny1]]></title> 
   <value><![CDATA[5]]></value>  
   </row>
  <row>
   <title> <![CDATA[sunny1]]></title> 
   <value><![CDATA[5]]></value>  
   </row>
ROW是动态的根据数据的多少增减的!
...  </rows>
  </result>怎么用 C# 向页面输出这样的XML
  

解决方案 »

  1.   

    XML 输出有很多中 着样只是其中的一种。      
       Response.Clear();
             Response.ContentType = "text/xml";
             Response.Charset = "GB2312";         Response.Write("<?xml version='1.0'?>");
             Response.Write("<result>");
             Response.Write(" <rows>");
             foreach (WhiteGameEntity Info in WhiteGameE)
             {
             Response.Write("  <row>");
             Response.Write("    <title>");
             Response.Write("      <![CDATA["+Info.YueSaiName.Trim()+"]>");
             Response.Write("       </title>");
             Response.Write("    <value>");
             Response.Write("     <![CDATA["+Info.Number.ToString().Trim()+"]>");
             Response.Write("     </value>");
             Response.Write("        </row>");
             }
             Response.Write("</rows>");
             Response.Write("</result>");
             Response.Flush();
             Response.End();     
      

  2.   

      DataTable dt=new DataTable ();//假设你说的动态数据存在dt中
            DataColumn dc = new DataColumn("id", typeof(string));
            dt.Columns.Add(dc);
            DataColumn dc2 = new DataColumn("name", typeof(string));
            dt.Columns.Add(dc2);        DataRow drNew = dt.NewRow();
            drNew[0] = "1111";
            drNew[1] = "aaaa";
            dt.Rows.Add(drNew);        Response.Clear();
            Response.ContentType = "text/xml";
            Response.Charset = "GB2312";        Response.Write(" <?xml version='1.0'?>");
            Response.Write(" <result>");
            Response.Write(" <rows>");
            foreach (DataRow dr in dt.Rows)
            {
                Response.Write("  <row>");
                Response.Write("    <title>              ");
                Response.Write(         dr["id"]          );
                Response.Write("      </title>           ");
                Response.Write("    <value>");
                Response.Write(         dr["name"]        );
                Response.Write("    </value>");
                Response.Write("  </row>");
            }
            Response.Write(" </rows>");
            Response.Write("</result>");
            Response.Flush();
            Response.End();    
    输出结果:  <?xml version="1.0" ?> 
    - <result>
    - <rows>
    - <row>
      <title>1111</title> 
      <value>aaaa</value> 
      </row>
      </rows>
      </result>
      

  3.   


    private XmlTextWriter WriteHeader(XmlTextWriter writer)//创建头部
    {
    writer.WriteStartDocument();
    writer.WriteStartElement("result");
    writer.WriteStartElement("row");
    return writer;
    } private XmlTextWriter WriteItem(XmlTextWriter writer,string row,string title,
    string value)//创建row部分
    {
    writer.WriteStartElement("row");
    writer.WriteElementString("title",title);
    writer.WriteElementString("value",value);
    writer.WriteEndElement();
    return writer;
    } private XmlTextWriter WriteTailer(XmlTextWriter writer)//创建尾部
    {
        writer.WriteEndElement();
        writer.WriteEndElement();
        writer.WriteEndDocument();
        return writer;
    }
    像如下调用 public void CreateSampleXML(HttpResponse response,string row ,string title,string value)
    {
    ///创建写XML文档的对象
    XmlTextWriter writer = new XmlTextWriter(response.OutputStream,System.Text.Encoding.UTF8);
    ///写文档的头部
    WriteHeader(writer);
    ///写文档的Item
    //然后这里循环写row部分
    {
    WriteItem(writer,row,title,value);
    }
    ///写文档尾部
    WriteRSSTailer(writer);
    ///缓存页面
    writer.Flush();
    writer.Close();
    ///设置页面的输出格式
    response.ContentEncoding = System.Text.Encoding.UTF8;
    response.ContentType = "text/xml";
    response.Cache.SetCacheability(HttpCacheability.Public);
    response.End();
    }
    自己再好好改改吧,应该可以用的