直接用ds.ReadXml的话 读取的速度就相当慢 30M的文件就要等几分钟,以后数据可能会更多,不知道有没有其他的方法提高效率啊。我在网上查了 DataSet.ReadXmlSchema  这个方法,貌似只能读取结构。具体怎么用还不清楚。有没有哪位知道的指点一下。其他的方法也可以  只要能够提高速度

解决方案 »

  1.   

      用XmlReader读是最快的了
      

  2.   

    ReadXml(Stream) 使用指定的 System.IO.Stream 将 XML 架构和数据读入 DataSet。  先把xml读到流里边,在加载到DataSet 里边!
      

  3.   

        private DataSet ConvertXmlToDataSet(string xmlPath)
     { 
    DataSet mySet = new DataSet();
     XmlDocument xdoc = new XmlDocument();
     xdoc.Load(xmlPath);
     XmlNodeReader reader = new XmlNodeReader(xdoc);
     mySet.ReadXml(reader); return mySet; 
    }
    只是快速,不高效
      

  4.   


    你所说的单独开个线程是否是指让这个读取xml的操作不影响其他的操作呢,但是读取的xml的速度并没有提升啊。我现在读取30Mxml文件需要3分钟,只要能将其提升至1分以内即可
      

  5.   

    单独用线程读取XML的操作是不影响其他的操作,但是速度应该也有很大的提升,我用线程加载一张报表用了1秒不到,不用线程要4秒,用线程执行一个月的考勤数据,用了28秒,而不用线程执行了50多秒。
      

  6.   


    就是很慢,新开辟一线程去读取xml,一样需要3分钟,不知道有没有其他的方法可以提高读取的速度
      

  7.   

    自己去解析成dataset吧,用微软的就是这个效果。