string strSel = "select * from T1"; 
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel, SQL_Con); 
dateset ds = new dateset (); 
MyAdapter.Fill(ds, "T1"); 
TextBox1.Text = ds.GetXml(); 
TextBox1显示结果如下: 
<NewDataSet>    
<T1> 
    <CZYXM>test1 </CZYXM> 
    <CZYBH>1001 </CZYBH> 
    <CZYMM>1001 </CZYMM> 
    <QX>操作员 </QX> 
    <FLQX>2 </FLQX> 
    <ZDBM>112233 </ZDBM> 
    <QSSFFP>20000001 </QSSFFP> 
    <ZZSFFP>29999999 </ZZSFFP> 
  </T1> 
  <T1> 
    <CZYXM>test2 </CZYXM> 
    <CZYBH>1002 </CZYBH> 
    <CZYMM>1002 </CZYMM> 
    <QX>操作员 </QX> 
    <FLQX>2 </FLQX> 
    <ZDBM>112233 </ZDBM> 
    <QSSFFP>30000001 </QSSFFP> 
    <ZZSFFP>39999999 </ZZSFFP> 
  </T1> 
.................................. 
</NewDataSet>我想TextBox1显示结果为: 
<?xml version="1.0" encoding="UTF-8"?> 
<XYZData> 
  <head> 
  <sendTime>2009-11-6 15:26:13 </sendTime>//上传时间 
  </head> 
    <businessData> 
    <dataSet size="2">//有多少条数据这里就显示几 
      <data type="T1"> 
        <CZYXM>test1 </CZYXM> 
        <CZYBH>1001 </CZYBH> 
        <CZYMM>1001 </CZYMM> 
        <QX>操作员 </QX> 
        <FLQX>2 </FLQX> 
        <ZDBM>112233 </ZDBM> 
        <QSSFFP>20000001 </QSSFFP> 
        <ZZSFFP>29999999 </ZZSFFP> 
      </data> 
      <data type="T1"> 
        <CZYXM>test2 </CZYXM> 
        <CZYBH>1002 </CZYBH> 
        <CZYMM>1002 </CZYMM> 
        <QX>操作员 </QX> 
        <FLQX>2 </FLQX> 
        <ZDBM>112233 </ZDBM> 
        <QSSFFP>30000001 </QSSFFP> 
        <ZZSFFP>39999999 </ZZSFFP> 
      </data> 
...... 
  </dataSet> 
  </businessData> 
</XYZData> 该如何操作呢?谢谢如果不行,那如何让我的TextBox1显示为:
      <data type="T1"> 
        <CZYXM>test1 </CZYXM> 
        <CZYBH>1001 </CZYBH> 
        <CZYMM>1001 </CZYMM> 
        <QX>操作员 </QX> 
        <FLQX>2 </FLQX> 
        <ZDBM>112233 </ZDBM> 
        <QSSFFP>20000001 </QSSFFP> 
        <ZZSFFP>29999999 </ZZSFFP> 
      </data> 
      <data type="T1"> 
        <CZYXM>test2 </CZYXM> 
        <CZYBH>1002 </CZYBH> 
        <CZYMM>1002 </CZYMM> 
        <QX>操作员 </QX> 
        <FLQX>2 </FLQX> 
        <ZDBM>112233 </ZDBM> 
        <QSSFFP>30000001 </QSSFFP> 
        <ZZSFFP>39999999 </ZZSFFP> 
      </data> 
把那个<NewDataSet> 去掉,并把数据表节点变成<data type="T1">  其他的我自己加

解决方案 »

  1.   

    遍历dataset重新生成节点
    XmlDocument xmlDoc=new XmlDocument(); 
    xmlDoc.Load("a.xml"); 
    XmlNode root=xmlDoc.SelectSingleNode("XYZData");
    XmlElement xe1=xmlDoc.CreateElement("head");
    XmlElement xesub1=xmlDoc.CreateElement("sendTime");
    xesub1.InnerText="";
    xe1.AppendChild(xesub1);
    root.AppendChild(xe1); XmlElement xe2=xmlDoc.CreateElement("businessData"); 
    xe2.InnerText="";;XmlElement xesub2=xmlDoc.CreateElement("dataSet "); 
    xesub2.InnerText=""; 
    xesub2.SetAttribute("size", "2"); 
    xe2.AppendChild(xesub2);
     
    root.AppendChild(xe2);
    xmlDoc.Save("a.xml"); 
      

  2.   

    W大大,我用了你写的语句报错,能给个完整的例子么?当我
    string strSel = "select * from T1"; 
    SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel, SQL_Con); 
    dateset ds = new dateset (); 
    MyAdapter.Fill(ds, "T1"); 
    TextBox1.Text = ds.GetXml(); 
    这步后,后面应该怎么写才能得到
    <?xml version="1.0" encoding="UTF-8"?> 
    <XYZData> 
      <head> 
      <sendTime>2009-11-6 15:26:13 </sendTime>//上传时间 
      </head> 
        <businessData> 
        <dataSet size="2">//有多少条数据这里就显示几 
          <data type="T1"> 
            <CZYXM>test1 </CZYXM> 
            <CZYBH>1001 </CZYBH> 
            <CZYMM>1001 </CZYMM> 
            <QX>操作员 </QX> 
            <FLQX>2 </FLQX> 
            <ZDBM>112233 </ZDBM> 
            <QSSFFP>20000001 </QSSFFP> 
            <ZZSFFP>29999999 </ZZSFFP> 
          </data> 
          <data type="T1"> 
            <CZYXM>test2 </CZYXM> 
            <CZYBH>1002 </CZYBH> 
            <CZYMM>1002 </CZYMM> 
            <QX>操作员 </QX> 
            <FLQX>2 </FLQX> 
            <ZDBM>112233 </ZDBM> 
            <QSSFFP>30000001 </QSSFFP> 
            <ZZSFFP>39999999 </ZZSFFP> 
          </data> 
    ...... 
      </dataSet> 
      </businessData> 
    </XYZData> 这样的结果呢?
    另外注意看,我的输出时是<T1>,要求的结果是<data type="T1"> 
    急啊,拜托了
      

  3.   

    如我上面的要求比较麻烦的话,那换个简单点的:
    把TextBox1.Text中的
    <NewDataSet>    
    <T1> 
        <CZYXM>test1 </CZYXM> 
        <CZYBH>1001 </CZYBH> 
        <CZYMM>1001 </CZYMM> 
        <QX>操作员 </QX> 
        <FLQX>2 </FLQX> 
        <ZDBM>112233 </ZDBM> 
        <QSSFFP>20000001 </QSSFFP> 
        <ZZSFFP>29999999 </ZZSFFP> 
      </T1> 
      <T1> 
        <CZYXM>test2 </CZYXM> 
        <CZYBH>1002 </CZYBH> 
        <CZYMM>1002 </CZYMM> 
        <QX>操作员 </QX> 
        <FLQX>2 </FLQX> 
        <ZDBM>112233 </ZDBM> 
        <QSSFFP>30000001 </QSSFFP> 
        <ZZSFFP>39999999 </ZZSFFP> 
      </T1> 
    .................................. 
    </NewDataSet> 替换成----------------------------------------      <data type="T1"> 
            <CZYXM>test1 </CZYXM> 
            <CZYBH>1001 </CZYBH> 
            <CZYMM>1001 </CZYMM> 
            <QX>操作员 </QX> 
            <FLQX>2 </FLQX> 
            <ZDBM>112233 </ZDBM> 
            <QSSFFP>20000001 </QSSFFP> 
            <ZZSFFP>29999999 </ZZSFFP> 
          </data> 
          <data type="T1"> 
            <CZYXM>test2 </CZYXM> 
            <CZYBH>1002 </CZYBH> 
            <CZYMM>1002 </CZYMM> 
            <QX>操作员 </QX> 
            <FLQX>2 </FLQX> 
            <ZDBM>112233 </ZDBM> 
            <QSSFFP>30000001 </QSSFFP> 
            <ZZSFFP>39999999 </ZZSFFP> 
          </data> 这样也可以啊!感谢啊