首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ReadOuterXml正在抛出OutOfMemoryException读取大(1 GB) XML文件的一部分

ReadOuterXml正在抛出OutOfMemoryException读取大(1 GB) XML文件的一部分
EN

Stack Overflow用户
提问于 2017-10-06 18:46:02
回答 2查看 729关注 0票数 3

我正在处理一个很大的XML文件,在运行应用程序时,XmlTextReader.ReadOuterXml()方法抛出了内存异常。

代码行是这样的,

代码语言:javascript
复制
XmlTextReader xr = null;
try
{
    xr = new XmlTextReader(fileName);
    while (xr.Read() && success)
    {
        if (xr.NodeType != XmlNodeType.Element) 
            continue;
        switch (xr.Name)
        {
            case "A":
                var xml = xr.ReadOuterXml();
                var n = GetDetails(xml);
                break;
        }
    }
}
catch (Exception ex)
{
    //Do stuff
}

使用:

代码语言:javascript
复制
private int GetDetails (string xml)
{

    var rootNode = XDocument.Parse(xml);
    var xnodes = rootNode.XPathSelectElements("//A/B").ToList();
    //Then  working on list of nodes

}

现在,当加载XML文件时,应用程序在xr.ReadOuterXml()行抛出异常。如何避免这种情况呢?的大小几乎是1 GB。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46603999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档