2012-02-07 15 views
4

おはよう!私はDelphi 2009とMSXML2_TLBライブラリ(IXMLDOM)で作業しています。私は最後の会議ノードを選択する必要があります。IXMLDOMはXPath last()関数を認識しませんか?

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 

は、事前にありがとうございます! Vojtech

答えて

5

あなたは私の知る限り、この機能は、MSXML

のV 4.0で導入された知っている、last関数が定義されていないMSXMLのバージョンを使用しているためですが、最後の

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

を試してみてください()関数は、MicrosoftがMSXMLで導入したXPathの1998年の方言ではなく、実際のXPathを長年にわたってサポートしていたとしても、私が知る限り、デフォルトであるW3C XPathにあります。 –

関連する問題