【问题标题】:How to read contents of a huge xml file in c# [duplicate]如何在c#中读取一个巨大的xml文件的内容[重复]
【发布时间】:2014-06-22 15:23:32
【问题描述】:

我想在 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 文件加载到内存中?

【问题讨论】:

    标签: c# xml


    【解决方案1】:

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

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

    示例代码

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

    【讨论】:

    • 我们阻止 LMGTFY 链接是有原因的。必须混淆链接应该是您的第一个线索。如果这是一个质量很差的问题,请不要回答。如果它是重复的,只需投票关闭。
    • 好的。我的错。固执地拒绝把它虽然。反正以后会小心的:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多