在C#中解析xml:将xmlreader和linq合并为xml [英] Parse xml in c# : combine xmlreader and linq to xml

查看:112
本文介绍了在C#中解析xml:将xmlreader和linq合并为xml的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须在C#中解析大型XML文件.我使用LINQ-to-XML.我有一个类似

I have to parse large XML file in C#. I use LINQ-to-XML. I have a structure like

<root>
       <node></node>
       <node></node>
</root>

我想使用XmlReader在每个节点上循环并使用LINQ-to-XML获取每个节点并对其进行处理?

I would like use XmlReader to loop on each node and use LINQ-to-XML to get each node and work on it ?

所以我的内存中只有当前节点.

So I have only in memory the current node.

推荐答案

您可以执行以下操作:

string path = @"E:\tmp\testxml.xml";
using (var reader = XmlReader.Create(path))
{

    bool isOnNode = reader.ReadToDescendant("node");
    while (isOnNode)
    {
        var element = (XElement)XNode.ReadFrom(reader);

        // Use element with Linq to XML
        // ...

        isOnNode = reader.ReadToNextSibling("node");
    }
}

这篇关于在C#中解析xml:将xmlreader和linq合并为xml的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆