IXMLDOM无法识别XPath last()函数?

Voj*_*ech 4 delphi xpath delphi-2009 xmldom

美好的一天!我正在使用Delphi 2009和MSXML2_TLB库(IXMLDOM).我需要选择最后一个Meeting节点:

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

但是在上面代码的最后一行我得到了异常:

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

有没有办法如何使用xpath选择最后一个节点,还是我真的必须编写代码来获取节点列表然后选择最后一个元素?

然而版本信息:

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

先感谢您!Vojtech

RRU*_*RUZ 5

这是因为您使用的last是未定义函数的msxml版本,据我所知这个函数是在MSXML的v 4.0中引入的

尝试

Doc := CreateOleObject('Msxml2.DOMDocument.6.0') as IXMLDomDocument;
Run Code Online (Sandbox Code Playgroud)