如何从XmlTextReader中提取XmlElement?

时间:2015-10-20 00:30:32

标签: c# .net xml xpath xml-parsing

我有非常大的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吗?

1 个答案:

答案 0 :(得分:0)

查看saxparser equivalent in c#及其指向的article