2012-02-07 5 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 4.0

시도 절에서 소개 된다시피, last 함수가 정의되어 있지 MSXML의 버전을 사용하고 있기 때문이다

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

마지막에게() 함수는 W3C XPath에 있지만 Microsoft가 MSXML에서 소개 한 XPath의 1998 년 방언이 아니며 수년간 실제 XPath를 지원 했음에도 불구하고 여전히 내가 아는 한 기본값입니다. –

관련 문제