xmlxpathlinq-to-xmllarge-files

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


I want to read a large xml file (100+ MB). 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?


Solution

  • 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.