我有非常大的XML文件(> 2GB),如果我只是尝试使用XmlDocument.Load(),我会得到一个OutOfMemory异常。我想通过XmlTextReader读取XML中的高级元素,然后在每个高级元素上使用XPath,而不必将整个XML文档加载到一个巨大的XMLDocument对象中。
因此,例如,如果我有一个带有...
的XML文件<xmlStuff>
<foo>
<name>Bob Builder</name>
<age>23</age>
</foo>
<foo>
<name>Steve Austin</name>
<age>99</age>
</foo>
</xmlStuff>
我正在使用XmlTextReader读取XML文件(因为文件太大了)一旦我找到一个元素我只想将1个元素加载到XmlElement中,那么我就可以通过XPath解析它了。
有没有更好的方法来解决这个问题?我可以通过XmlReader或XmlTextReader执行XPath吗?