C# NET中无DOM的XPath计算

C# NET中无DOM的XPath计算,c#,.net,xml,xpath,C#,.net,Xml,Xpath,我正在从事一个.NET项目,该项目要求对文档进行XPath计算,但不能将XML DOM加载到内存中,在这种情况下,要分析的内容可能是大尺寸的(以GB为单位)。 这更接近于在Java中更常见的SAX模型,但在.NET中并不常见 在过去的日子里,GotDotNet的某个人创建了一个名为XPathReader的很好的库(仍然可以在上下载),它模仿SAX模型,以只向前的方向计算XPath表达式,这正是我想要的。 我看到微软也在BizTalk()中开发了这个概念,在这种情况下这似乎是合乎逻辑的,但它并没有

我正在从事一个.NET项目,该项目要求对文档进行XPath计算,但不能将XML DOM加载到内存中,在这种情况下,要分析的内容可能是大尺寸的(以GB为单位)。 这更接近于在Java中更常见的SAX模型,但在.NET中并不常见

在过去的日子里,GotDotNet的某个人创建了一个名为XPathReader的很好的库(仍然可以在上下载),它模仿SAX模型,以只向前的方向计算XPath表达式,这正是我想要的。 我看到微软也在BizTalk()中开发了这个概念,在这种情况下这似乎是合乎逻辑的,但它并没有使它成为任何地方的通用库

由于XPathReader库自2004年(11年!)以来就没有维护过,我想知道在这一领域是否还有其他的努力,以应对更多的支持和同步版本


谢谢大家的意见

当你说GB时,你心里有一个上限吗,也就是说,我们这里说的是低1-10GB的文件还是20+GB的文件?实际上,这是一个在分散的二进制序列化数据之间读取的系统,因此XML读取器是从底层系统以仅向前模式构建的。单个文档甚至可以达到分散在机器之间的千兆字节(碎片)。关于大小,这纯粹是理论上的,但是像这样的系统必须对大小没有硬限制。您可能在几个月前解决了这个问题(如果是这样,@Antonello,请将您的解决方案放在答案框中并接受它…),但如果不是,SaxOne(XSLT)具有流模式,或者如果您将多次处理同一文档,请使用XML数据库和XQuery,实际上,我的兴趣与我开发项目develdb()有关,我想支持XML数据类型。在数据库上下文中,字段搜索必须快速,不必创建内存峰值。这就是为什么我对这个模型感兴趣。我将检查您提供给我的链接,但由于许可的原因,SaxOne不是一个选项