如果xml有多层,如下<root>
<item PropName="father">
<item PropName="child" />
</item>
</root>则转到dataset表结构为
item_Id item_Id_0 PropName
0                 father
1       0         child这没问题,但如果XML只有一层,如下<root>
<item PropName="father1"/>
<item PropName="father2" />
</root>则转到dataset表结构为
PropName
father
child少了item_Id item_Id_0两个序号字段
如何让只有一层的XML,转到dataset时也包念两个序号字段
我的转换代码如下
        private static DataSet ConvertXMLToDataSet(string xmlData)
        {
            StringReader stream = null;
            XmlTextReader reader = null;
            try
            {
                DataSet xmlDS = new DataSet();
                stream = new StringReader(xmlData);
                //从stream装载到XmlTextReader                reader = new XmlTextReader(stream);
                xmlDS.ReadXml(reader);
                return xmlDS;
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (reader != null)
                    reader.Close();
            }
        }

解决方案 »

  1.   

    <root>
        <item PropName="father1"/>
        <item PropName="father2" />
    </root>
    father1和father2都是table
      

  2.   


      private static DataSet ConvertXMLToDataSet(string xmlData)
            {
                StringReader stream = null;
                XmlTextReader reader = null;
                try
                {
                    DataSet xmlDS = new DataSet();
                    stream = new StringReader(xmlData);
                    //从stream装载到XmlTextReader                reader = new XmlTextReader(stream);
                    xmlDS.ReadXml(reader);
                    xmlDS.Tables[0].Columns.Add("item_Id");
                    xmlDS.Tables[0].Columns.Add("item_Id_0");

                    return xmlDS;
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    if (reader != null)
                        reader.Close();
                }
            }
    自己添两列... 
      

  3.   


    如果father1和father2都是table要怎么办呢?