4 votes

IXMLDOM ne reconnaît pas la fonction XPath last() ?

Bonne journée ! Je travaille avec Delphi 2009 et la bibliothèque MSXML2_TLB (IXMLDOM). J'ai besoin de sélectionner le dernier nœud de réunion :

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

Mais à la dernière ligne du code ci-dessus, je reçois une exception :

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

Existe-t-il un moyen de sélectionner le dernier nœud en utilisant xpath ou dois-je vraiment écrire du code pour obtenir la liste des nœuds et ensuite sélectionner le dernier élément ?

Encore une info sur la version :

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

Merci d'avance ! Vojtech

5voto

RRUZ Points 98685

Cela est dû au fait que vous utilisez une version de msxml où l'attribut last n'est pas définie, pour autant que je sache, cette fonction a été introduite dans la version 4.0 de MSXML.

essayez

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X