2.0

2012-11-22 2 views
2

나는 다음과 같은2.0

dim articleId as string = doc.SelectSingleNode("./article/article-id", nsm).InnerText 

을 할 수 있으며, 결과는 그렇게하지 ABC

입니다

<article> 
    <article-id pub-id-type="local">ABC</article-id> 
    <article-id pub-id-type="external">XYZ</article-id> 
</article> 

처럼 내 XML 보인다 결과를 XYZ로 가져 오는 방법을 알아야합니다. SelectSingleNode를 사용하기 때문에 첫 번째 항목을 가져 오는 것으로 가정합니다. 두 번째 정보를 얻으려고 말하는 방법이 있습니까? 난 단지 2 노드와 예를 표시했습니다 있지만

가 정말 .NET 2.0을 사용하지 않는 한

'외부'라는 이름으로 '검색'해야하므로 임의의 숫자가있을 수, 유의하시기 바랍니다 이전에는 MSDN이 정말 도움이되지 못했습니다.

도움이 될 것입니다. 감사합니다.

"./article/article-id[@pub-id-type='external']" 

[@pub-id-type='external']가 속성 필터입니다 :

답변

1

는 다음과 같은 XPath를 사용할 수 있습니다.

가능한 요소가 여러 개인 경우 [last()]을 추가하여 마지막 요소를 얻을 수 있습니다.

자세한 XPath 정보는 this page을 확인하십시오.

+0

이것은 아마도 충분 하겠지만, 나는 때때로 노드 수가 많을 수 있으므로 두려워합니다. 따라서 노드별로 (이름으로) 지정해야합니다. (내 질문을 업데이트했습니다.) 죄송합니다. +1 – Dave

+0

내 대답을 편집했습니다. :) –

+0

하하, 나는 @ 기호가 어떤 관련성이 있는지 물어볼 예정이었다. 완벽한, 고마워요 – Dave