我的xml文件很大,大概一个有100多M,有什么好的方法把xml文件导入到数据库的方法没有?

解决方案 »

  1.   

    简单的操作是通过DataSet.ReadXml或DataTable.ReadXml方法来加载xml数据,然后通过DataAdapter.Update方法更新数据到数据库。由于文件比较大,实际效率需要测试一下。另外一种方式通过XmlReader以流的方式进行读取,然后分析再更新数据库,不过写的代码就比较多了。实现方式灵活,取数据时可以通过Commmand单条更新,也可以使用DataSet或DataTable进行多条更新。
      

  2.   


    //如果Xml格式和表结构相同的话,就用DataAdapter.Update();否则要手动筛选
    DataSet ds = new DataSet();
    ds.ReadXml("test.xml");
    foreach(DataRow dr in ds.Tables[0].Rows)
    {
      //筛选后处理,可放入集合中处理,效率请自测
    }
      

  3.   

    谁给个代码:用xmlreader怎么写 ?
      

  4.   

    string fileName = "yourDocument.xml";
    XmlTextReader reader = new XmlTextReader(fileName);while (reader.Read())
    {
        //如果是元素节点
        if (reader.NodeType == XmlNodeType.Element)
        {
            if (reader.LocalName.Equals("Title") || reader.LocalName.Equals("Author"))
            {
                //...
            }
        }
        //如果是属性节点
        if (reader.NodeType == XmlNodeType.Attribute)
        { 
        
        }
        //如果是文本节点
        if (reader.NodeType == XmlNodeType.Text)
        { 
        
        }
    }
      

  5.   

    对于XML中每个节点及其中元素个数都不相同的时候用递归遍历很方便,代码没在手边,需要可留言.