我想在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文件?
答案 0 :(得分:0)
在.NET 4中 - 为了获得最佳性能,您应该使用XmlReader,因为它流文档而不是将整个内容加载到内存中。
您引用的代码使用XmlReader
进行实际查询,因此在大型文档上应该相当快。
示例代码
var reader = XmlReader.Create(filename);
reader.WhitespaceHandling = WhitespaceHandling.None;
while (reader.Read())
{
// your code here.
}