public class XmlParse
    {
        public INodeBuilder NodeBuilder;        public bool Parse(string FilePath)
        {
            try
            {
                XmlDocument Xmldoc = new XmlDocument();
                Xmldoc.Load(FilePath);  //读取文件
                XmlNodeList Nodelist = Xmldoc.DocumentElement.ChildNodes;                foreach (XmlNode XNode in Nodelist)
                {
                    NodeBuilder.CreateNode(XNode);
                }
            }
            catch (Exception e)
            {                MessageBox.Show(e.Message, "XML File Read Error!");
                return false;
            }
            return true;
        }
    }这种方法局限了只能读取XML文件中的数据。但是,数据不一定会只存放在XML文件中,也会存放在数据库中。所以想用DataSet来实现,可是找不到好的学习DataSet的相关文档,不知道怎么用。
请大家帮帮忙,用DataSet怎么实现 读取 XML 或 数据库的数据。 对于我这个问题 有没有针对性的书可以看 ?

解决方案 »

  1.   

    可以使用DataSet.WriteXml()函数将DataSet——或者说数据库中的内容保存为一个单独的XML文件,这样你就可以使用上面的函数处理了
      

  2.   

    DataSet?
    DataSet.ReadXml()这方法怎么样?
      

  3.   

    如果数据放在数据库中
    你上面的代码又不能继续使用了
    只能重写
    dataset是保存数据用的关于dataset只要多写几个例子 就会看明白了 
      

  4.   

    先将XML数据流写入字符串
    然后
    DataSet ds1 = new DataSet();
    ds1.ReadXML(new System.IO.StringReader(xmlstr));
      

  5.   

    如果是xml的话,可以直接用dataset.ReadXml就可以了
    如果是数据库就要建立连接,然后sql进去了
      

  6.   

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data.SqlClient;
    using System.Data;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                // "uid=sa":连接数据库的用户名为sa.
                // "password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".
                // "initial catalog=Northwind":使用的数据源为"Northwind"这个数据库.他的别名为"Database",本句可以写成"Database=Northwind".
                // "Server=YourSQLServer":使用名为"YourSQLServer"的服务器.他的别名为"Data Source","Address","Addr".
                // " Connect Timeout=30":连接超时时间为30秒.(根据情况添加)
                // PS:
                //  1.你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL Server设置为Windows登录,那么在这里就不需要使用"uid"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录.
                //  2. 如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址.
                string strConnection = "Trusted_Connection=SSPI;";
                strConnection += "database=NTF_Navision_enlistment60;Server=CAIXIATA-6BE823;";
                strConnection += "Connect Timeout=30";
                using (SqlConnection objConnection = new SqlConnection(strConnection))
                {
                    objConnection.Open();
                    // method 1
                    SqlCommand myCommand = new SqlCommand("select * from Couse", objConnection);                Console.WriteLine("open");
                    SqlDataReader myReader = myCommand.ExecuteReader();
                    while (myReader.Read())
                    {
                        Console.WriteLine(myReader.GetFieldType(0));
                        Console.WriteLine(myReader.GetFieldType(1));
                        Console.WriteLine(myReader.GetFieldType(2));
                        Console.WriteLine(myReader.GetDecimal(0));
                        Console.WriteLine(myReader.GetDecimal(1));
                        Console.WriteLine(myReader.GetDecimal(2));
                    }
                    myReader.Close();                // method 2
                    SqlDataAdapter myCommandd = new SqlDataAdapter("select * from Couse", objConnection);
                    DataSet ds = new DataSet();
                    myCommandd.Fill(ds, "Couse");
                    DataTable dt = ds.Tables["couse"];
                    Console.WriteLine(dt.Columns[0].ToString());
                    Console.WriteLine(dt.DefaultView.Count);
                }
            }
        }
    }本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LCL_data/archive/2009/04/30/4139145.aspx
      

  7.   

    提问的时候忘了注明了  我指的是 C# 中如何实现:使用DataSet读取数据(XML 或 数据库)
      

  8.   

    [code=
    DataSet ds = new DataSet();
    ds.ReadXml(@"D:/XmlData/links.xml");]
    [/code]
      

  9.   

    DataSet ds = new DataSet();
            ds.ReadXml(@"D:/XmlData/links.xml");
      

  10.   

    看好的我标题再回答呀 ***** 要是我只读取XML 我还问啥? 我要读取数据库的数据 。