用如下代码建立的DataSet生成XML,使用DataSet.WriteXml()方法。DataSet ds = new DataSet ("setup");
DataTable dtCuntry = new DataTable ("country");
DataTable dtColumn = new DataTable ("column");dtCuntry.Columns.Add (new DataColumn ("id", typeof (System.String)));
dtCuntry.Columns.Add (new DataColumn ("name", typeof (System.String)));dtCuntry.Rows.Add (new object[] {"1","china"});
dtCuntry.Rows.Add (new object[] {"2", "USA"});dtColumn.Columns.Add (new DataColumn ("id", typeof (System.String)));
dtColumn.Columns.Add (new DataColumn ("name", typeof (System.String)));dtColumn.Rows.Add (new object[] { "1","XXX"});ds.Tables.Add(dtCuntry);
ds.Tables.Add(dtColumn);
结果是:
<setup>
  <country>
    <id>1</id>
    <name>china</name>
  </country>
  <country>
    <id>2</id>
    <name>USA</name>
  </country>
  <column>
    <id>1</id>
    <name>XXX</name>
  </column>
</setup>
不是想要的结构,怎样才能生成如下结构的XML:
<setup>
  <country>
    <record>
      <id>1</id>
      <name>china</name>
    </record>
    <record>
      <id>2</id>
      <name>USA</name>
    </record>
  </country>
  <column>
    <record>
      <id>1</id>
      <name>XXX</name>
    </record>
  </column>
</setup>

解决方案 »

  1.   

    DataSet可能实现不了XmlTextWriter可以实现你的想法
    直接用XmlTextWriter来写文件w.WriteStartDocument();
    w.WriteRaw("\n");
    w.WriteStartElement("setup");
    w.WriteRaw("\n");w.WriteStartDocument();
    w.WriteRaw("\n");
    w.WriteRaw(TAB(1));
    w.WriteStartElement("country");
    w.WriteRaw("\n");w.WriteStartDocument();
    w.WriteRaw("\n");
    w.WriteRaw(TAB(2));
    w.WriteStartElement("record");
    w.WriteRaw("\n");
    ..............
    w.close();
    网上很多,楼主可以去搜
      

  2.   

    为什么要用dataset呢 用xml操作类就可以了 啊2楼的方法可行