MS VBA и XPath 2.0 - PullRequest
       28

MS VBA и XPath 2.0

3 голосов
/ 09 сентября 2009

Существуют ли какие-либо библиотеки VBA, которые позволят мне использовать XPath 2.0 в VBA? MSXML6 не работает с XPath 2.0.

По сути, я хочу анализировать XML-документы, используя XPath 2.0, поскольку он позволяет мне использовать функции в выражении XPath для фильтрации XML-документа. В качестве примера, было бы полезно использовать функцию current-date (), поскольку я мог бы получать данные, превышающие определенную дату. Если бы я использовал XPath 1.0, мне нужно было бы выполнить произвольный цикл, хотя даты, возвращенные XPath, и сравнить, какие даты были больше определенной даты.

Есть ли у вас какие-либо идеи относительно того, как я мог бы использовать XPath 2.0 в Excel 2003 VBA, или какие-либо альтернативы моей проблеме?

Заранее спасибо за любую помощь.

Дональд

Ответы [ 4 ]

3 голосов
/ 09 сентября 2009

Прошу прощения за то, что не знаю, что такое XPath2.

Не могли бы вы использовать критерии XPath, используя вместо этого значение даты из VB?
Я имею в виду, "/ Дата> 9/9/2009" - где 9/9/2009 текущая дата, которая поступает из VB.

Дайте мне знать, если я не понял вопроса.

2 голосов
/ 09 сентября 2009

Нет , Microsoft не реализовала (насколько мне известно) XPath 2.0.

1 голос
/ 18 января 2010

Несмотря на то, что ответ Димитра все еще остается в силе, к сожалению (см. Также этот поток ), если вы можете использовать библиотеки .NET с вашим приложением VBA, вы можете рассмотреть возможность использования Saxon для .NET , который является прямым портом IKVM Java Saxon для .NET.

0 голосов
/ 31 января 2010

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.

...