<?xml version="1.0" encoding="utf-8"?>
<TABLES>
  <TB1>
    <item>
      <A>a</A>
      <B>b</B>
      <C>c</C>
    </item>
    <item>
      <A>a1</A>
      <B>b1</B>
      <C>c1</C>
    </item>
  </TB1>
  <TB2>
    <item>
      <A>a</A>
      <B>b</B>
      <C>c</C>
    </item>
    <item>
      <A>a1</A>
      <B>b1</B>
      <C>c1</C>
    </item>
  </TB2>
</TABLES>这个xml转换成DataSet,DataSet里是TB1、TB2、item3个表
怎么才能直接转成2个表呢,不要在item表里加字段区分

解决方案 »

  1.   


    public class Item
    {
        /// <summary>
        /// 
        /// </summary>
        public string A { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string B { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string C { get; set; }
    }public class TB1
    {
        /// <summary>
        /// 
        /// </summary>
        public Item item { get; set; }
    }public class TB2
    {
        /// <summary>
        /// 
        /// </summary>
        public Item item { get; set; }
    }[XmlRoot("TABLES")]
    public class TABLES
    {
        /// <summary>
        /// 
        /// </summary>
        public TB1 TB1 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public TB2 TB2 { get; set; }
    }string s = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><TABLES><TB1><item><A>a</A><B>b</B><C>c</C></item><item><A>a1</A><B>b1</B><C>c1</C></item></TB1><TB2><item><A>a</A><B>b</B><C>c</C></item><item><A>a1</A><B>b1</B><C>c1</C></item></TB2></TABLES>";using (StringReader sr = new StringReader(s))
    {
        XmlSerializer xmlSerializer = new XmlSerializer(typeof(TABLES));
        var result = (TABLES)xmlSerializer.Deserialize(sr);}