IXMLDOM не распознает функцию XPath last ()? - PullRequest
4 голосов
/ 07 февраля 2012

Добрый день! Я работаю с Delphi 2009 и библиотекой MSXML2_TLB (IXMLDOM). Мне нужно выбрать последний узел Meeting:

Doc := CreateOleObject('Microsoft.XMLDOM') as IXMLDomDocument;
Doc.loadXML(XmlStr);
tmpNode:= Doc.selectSingleNode('//Meeting[last()]');

Но в последней строке кода выше я получаю исключение:

Project test.exe raised exception class EOleException with message: 'Unknown method
//Meeting[-->last()<--]'

Есть ли способ выбрать последний узел с помощью xpath или мне действительно нужно написать код, чтобы получить список узлов, а затем выбрать последний элемент?

Пока информация о версии:

Type Lib: C:\WINDOWS\system32\msxml6.dll (1)
LIBID: {F5078F18-C551-11D3-89B9-0000F81FE221}
HelpString: Microsoft XML, v6.0

Заранее спасибо! Войтех

1 Ответ

5 голосов
/ 07 февраля 2012

Это потому, что вы используете версию msxml, в которой функция last не определена, насколько я знаю, эта функция была представлена ​​в версии 4.0 MSXML

.

попробовать

Doc := CreateOleObject('Msxml2.DOMDocument.6.0') as IXMLDomDocument;
...