를 검색 할 수 있습니다 :XPath 식 그래서, 내가 XML 조각이 오래된/최초의 노드
<STATES>
<STATE>
<NAME>Alabama</NAME>
<ABBREVIATION>AL</ABBREVIATION>
<CAPITAL>Montgomery</CAPITAL>
<POPULATION>4661900</POPULATION>
<AREA>52419</AREA>
<DATEOFSTATEHOOD>14 December 1819</DATEOFSTATEHOOD>
</STATE>
<STATE>
<NAME>Alaska</NAME>
<ABBREVIATION>AK</ABBREVIATION>
<CAPITAL>Juneau</CAPITAL>
<POPULATION>698473</POPULATION>
<AREA>663268</AREA>
<DATEOFSTATEHOOD>1 January 1959</DATEOFSTATEHOOD>
</STATE>
<STATE>
<NAME>Delaware</NAME>
<ABBREVIATION>DE</ABBREVIATION>
<CAPITAL>Dover</CAPITAL>
<POPULATION>885122</POPULATION>
<AREA>2490</AREA>
<DATEOFSTATEHOOD>7 December 1787</DATEOFSTATEHOOD>
</STATE>
</STATES>
<etc, etc.>
내가 (예를 들어) 가장 오래된 상태 (즉, "도버")의 수도를 검색 할 수 있습니다.
//STATES/STATE[DATEOFSTATEHOOD='7 December 1787']/CAPITAL/text()
을하지만, 'DATEOFSTATEHOOD = {초기 DATEOFSTATEHOOD을}'말을하는 방법을 알아낼 수 없습니다 : 나는 여기까지 얻는 것을 처리했다.
아무도 올바른 방향으로 나를 가리킬 수 있습니까?
해결 방법 : 매트의 해결책은 다소 많습니다. 내가 지적했듯이, Xpath 1.0은 내가 사용했던 날짜 형식을 지원하지 않기 때문에 날짜를 다시 포맷해야했다 (나는 YYYYMMDDD를 사용했다). 또한 Microsoft의 XML 라이브러리 (4.0 및 6.0)는 Matt의 표현식으로 전체 노드 목록을 반환했습니다. 테스트를 되 돌리면 문제가 해결되어 가장 초기 노드 만 반환합니다.
그래서 :
//STATES/STATE[(DATEOFSTATEHOOD < //STATES/STATE/DATEOFSTATEHOOD)]/CAPITAL/text()
이를 실행할 수 있습니다, 그래서 것 그렇게 해봐. 고마워. – gkrogers
당신의 표현은 온라인 표현 테스터에서 작동하지만 Microsoft의 XML 라이브러리에서는 작동하지 않는 것으로 나타났습니다. 그러나 그것을 // STATES/STATE [(DATEOFSTATEHOOD STATEMENT/STATE/DATEOFSTATE>)]/CAPITAL/text()로 변경하면 tritck가 실행됩니다 - 감사합니다! – gkrogers