MS VBA and XPath 2.0

4

是否存在任何VBA库,可以让我在VBA中使用XPath 2.0?MSXML6不支持XPath 2.0。

基本上,我想使用XPath 2.0解析XML文档,因为它允许我在XPath表达式中使用函数来过滤XML文档。例如,使用current-date()函数将非常有用,因为我可以检索大于某个日期的数据。如果我使用XPath 1.0,则需要通过XPath返回的日期进行任意循环,并比较哪些日期大于某个日期。

您有任何关于如何在Excel 2003 VBA中使用XPath 2.0或解决我的问题的替代方法吗?

感谢您提前的帮助。

唐纳德

4个回答

4
,据我所知,微软没有实现XPath 2.0。

3

对于XPath2,我可能不太了解,请见谅。

不过您是否可以使用来自VB的日期值作为XPath条件呢?
我的意思是,例如“/Date > 9/9/2009” - 这里的9/9/2009是当前日期,来源于VB。

如果我没有理解问题,请告诉我。


1

虽然Dimitre的回答仍然完全有效,但不幸的是(请参见this thread),如果您可以在VBA应用程序中使用.NET库,则可以考虑使用Saxon for .NET,它是Java Saxon直接移植到.NET的IKVM端口。


0

Altova提供其XSLT和XPath 2.0以及XQuery 1.0处理器作为Windows下载,详情请见http://www.altova.com/altovaxml.html。它是一个COM应用程序,可以进行脚本化/自动化,因此您应该能够将其与VBA一起使用,文档中有示例。我认为没有API可用于使用纯XPath 2.0,但有一个API可用于使用XQuery 1.0,而XPath 2.0是XQuery 1.0的子集。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接