我用的是VS2005,你的那个好像在VS2008中才有的吧

解决方案 »

  1.   

    xml转化为DataTable
    http://www.cnblogs.com/voiow/archive/2007/10/26/938860.html
      

  2.   


        public class XmlToData
        {
            /// <summary>
            /// 将Xml内容字符串转换成DataSet对象
            /// </summary>
            /// <param name="xmlStr">Xml内容字符串</param>
            /// <returns>DataSet对象</returns>
            public static DataSet CXmlToDataSet(string xmlStr)
            {
                if (!string.IsNullOrEmpty(xmlStr))
                {
                    StringReader StrStream = null;
                    XmlTextReader Xmlrdr = null;
                    try
                    {
                        DataSet ds = new DataSet();
                        //读取字符串中的信息
                        StrStream = new StringReader(xmlStr);
                        //获取StrStream中的数据
                        Xmlrdr = new XmlTextReader(StrStream);
                        //ds获取Xmlrdr中的数据                
                        ds.ReadXml(Xmlrdr);
                        return ds;
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                    finally
                    {
                        //释放资源
                        if (Xmlrdr != null)
                        {
                            Xmlrdr.Close();
                            StrStream.Close();
                            StrStream.Dispose();
                        }
                    }
                }
                else
                {
                    return null;
                }
            }
            /// <summary>
            /// 将Xml字符串转换成DataTable对象
            /// </summary>
            /// <param name="xmlStr">Xml字符串</param>
            /// <param name="tableIndex">Table表索引</param>
            /// <returns>DataTable对象</returns>
            public static DataTable CXmlToDatatTable(string xmlStr, int tableIndex)
            {
                return CXmlToDataSet(xmlStr).Tables[tableIndex];
            }        /// <summary>
            /// 将Xml字符串转换成DataTable对象
            /// </summary>
            /// <param name="xmlStr">Xml字符串</param>
            /// <returns>DataTable对象</returns>
            public static DataTable CXmlToDatatTable(string xmlStr)
            {
                return CXmlToDataSet(xmlStr).Tables[0];
            }
      

  3.   

    /// <summary>
    /// 将xml转换为datatable
    /// </summary>
    /// <param name="path">xml的路径</param>
    private DataTable xmlToDataTable(string path)
    {
        XmlDocument xmldoc = new XmlDocument();
        xmldoc.Load(path);
        XmlNodeList rows = xmldoc.GetElementsByTagName("row");    DataTable dt = new DataTable("dt");
        for (int i = 0; i < rows.Count; i++)
        {
             DataRow datarow = null;
             XmlNodeList columns = rows[i].ChildNodes;
             //在第一次循环时创建出列头
              for (int k = 0; k < columns.Count && i == 0; k++)
             {
                 string columnName = rows[i].ChildNodes[k].Attributes["name"].Value;
                 DataColumn datacolumn = dt.Columns.Add(columnName, typeof(string));
             }
             datarow = dt.NewRow();
             //循环给行填充数据
              for (int j = 0; j < columns.Count; j++)
             {
                  datarow[rows[i].ChildNodes[j].Attributes["name"].Value] = columns[j].FirstChild.Value;
             }
             dt.Rows.Add(datarow);
         }
         return dt;
    }
      

  4.   

    搂主的XML结构和之前的一个XML结构一摸一样,建议搂主看看我回的下面贴子:
    http://topic.csdn.net/u/20081203/14/1daf422c-0266-4812-8364-eaa10000ee2b.html