如何在c#中读取巨大的xml文件的内容

时间:2014-05-06 06:34:58

标签: c# xml

我想在c#中读取一个大的dblp.xml文件,因为它是一个巨大的文件,无法加载到内存中。我查询从这个巨大的文件中获取一些数据。我该如何阅读/获取它。

<phdthesis mdate="2012-04-18" key="phd/tw/Chang2008">
  <author>Fengming Chang</author>
  <title>Learning accuracy from limited data: </title>
  <year>2008</year>
  <school>Tainan, National Cheng Kung Univ.</school>
  <pages>1-67</pages>
  <isbn>978-3-8364-8603-3</isbn>
  <note type="dnb">http://d-nb.info/989267156</note>
</phdthesis>

如何使用c#从内存中加载所有xml文件来读取巨大的xml文件?

1 个答案:

答案 0 :(得分:0)

在.NET 4中 - 为了获得最佳性能,您应该使用XmlReader,因为它文档而不是将整个内容加载到内存中。

您引用的代码使用XmlReader进行实际查询,因此在大型文档上应该相当快。

示例代码

var reader = XmlReader.Create(filename);
reader.WhitespaceHandling = WhitespaceHandling.None;
while (reader.Read())
{
    // your code here.
}