小编use*_*651的帖子

在c#中解析80 Gb XML文件

我必须解析80 GB的XML才能从该文件中获取一些数据.我为此目的使用了XML阅读器.当我用304 MB文件检查代码时.然后它在4秒内解析文件.所以我认为我将工作80 GB.但它在一分钟之后给了我异常的记忆.

我有以下代码:

static void Main(string[] args)
    {

        List<Test> lstTest = new List<Test>();
        bool isTitle = false;
        bool isText = false;

        using (XmlReader Reader = XmlReader.Create(FilePath))
        {
            Test tt = new Test();
            while (Reader.Read())
            {                    switch (Reader.NodeType)
                {
                    case XmlNodeType.Element:
                        if (Reader.Name == "title")
                        {
                            isTitle = true;
                        }
                        if (Reader.Name == "text")
                        {
                            isText = true;
                        }
                        break;
                    case XmlNodeType.Text:
                        if (isTitle)
                        {
                            tt.Title = Reader.Value;
                            isTitle = false;
                        }

                        if (isText)
                        {
                            tt.Text = Reader.Value;
                            isText …
Run Code Online (Sandbox Code Playgroud)

c#

1
推荐指数
1
解决办法
248
查看次数

标签 统计

c# ×1