2011-05-05 5 views
5

XMLDocument에서 SelectSingleNode을 XPath 식을 사용하여 처리하려고합니다. 그러나 검색하는 특성 값에 슬래시 (/)가 여러 개 포함되어 있으면 null을 반환합니다.슬래시 (/)가 포함 된 특성에 대한 XPath 쿼리

슬래시를 이스케이프 처리하기 위해 온라인 리소스를 찾을 수 없습니다. 누구든지이 문제를 해결할 방법을 알고 있습니까? 또는 속성 값을 일치시키기 위해 구문을 모두 잘못 잡았습니까?

예 XML은

<?xml version="1.0"?> 
    <Root> 
    <Page Path="/brand" /> 
    <Page Path="/brand/armada" /> 
    </Root> 

이 XPath 표현 올바른 노드를 반환한다 (예 : 위의 샘플의 첫 번째)

XmlNode N = xmlDoc.SelectSingleNode("Root/Page[@Path='/brand']"); 

이 XPath 표현 널 반환

XmlNode N = xmlDoc.SelectSingleNode("Root/Page[@Path='/brand/armada']"); 

저는 C#, .net 3.5 환경에 있습니다.

편집 : 답변 해 주셔서 감사합니다. select 식에 두 개의 슬래시를 사용하여이 문제를 해결했습니다.

XmlNode N = xmlDoc.SelectSingleNode("Root//Page[@Path='/brand/armada']"); 
+0

내 최소한의 복제 콘솔 앱은 두 xpaths 모두에서 예상되는 결과를 제공합니다. – AakashM

+0

버그 여야합니다. 또는 문제는 그 밖의 곳입니다. XMLspy 2011 sp1은 Xpath 표현식으로 수정합니다. – ceving

+4

@chris 자신이 답변을 찾은 경우 아래에 답변을 게시하고 답변으로 표시하여 다른 사람에게 도움이되도록 할 수 있습니까? 이는 또한이 질문이 더 이상 SO의 "답변되지 않은"섹션에 나타나지 않는다는 것을 의미합니다. 감사합니다 – BMac

답변

0

감사합니다. select 식에 두 개의 슬래시를 사용하여이 문제를 해결했습니다.

XmlNode N = xmlDoc.SelectSingleNode("Root//Page[@Path='/brand/armada']"); 
관련 문제