2013-06-05 4 views
0

가짜 노드가 존재하지 않는 XPath는 "/ root/name [bogus = 'dave']"로하는 것이 좋습니다. SelectSingleNode에서 null을 반환합니다.유효한 인덱스를 테스트하려면 어떻게해야합니까?

그러나 XPath는 "/ root/name [5]"이며 루트 아래에 4 개의 이름 노드 만있는 경우 예외가 발생합니다. (적어도 .NET에서는 그렇다).

인덱스 값이 유효한지 테스트하고 확인하는 좋은 방법은 무엇입니까?

bool(/root/name[5]) 

<root> 요소는 다섯 번째 <name> 아이가있는 경우에 true를 반환합니다 -

감사의 XPath 1.0에서 데이브

+0

예외가되는 코드를 알려 주시기 바랍니다. – AakashM

+1

예 xspth가 무언가를 찾지 못한다면 예외가되어서는 안됩니다. 반환 값이 null이 아닌지 테스트하지 않는 것 같습니다. –

답변

1

, 당신이 XPath 식을 평가 할 수있다.

다른 사람들처럼 XPath 자체는 존재하지 않는 노드에 액세스하려고 시도했을 때 예외를 발생 시켜서는 안됩니다. 그러나 null 값을 역 참조하려고하면 .NET 라이브러리에서 예외가 발생할 수 있습니다.

관련 문제