How to read large xml file without loading it in memory and using XElement

hIpPy picture hIpPy · Feb 12, 2010 · Viewed 7.6k times · Source

I want to read a large xml file (100+M). Due to its size, I do not want to load it in memory using XElement. I am using linq-xml queries to parse and read it.

What's the best way to do it? Any example on combination of XPath or XmlReader with linq-xml/XElement?

Please help. Thanks.

Answer

Martin Honnen picture Martin Honnen · Feb 12, 2010

Yes, you can combine XmlReader with the method XNode.ReadFrom, see the example in the documentation which uses C# to selectively process nodes found by the XmlReader as an XElement.