2012-08-17 5 views
0
다음

은 XML입니다 :XPath를 사용하여 필요한 노드를 쿼리 할 수없는 이유는 무엇입니까?

<VDWSDirectoriesResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"> 
<Success>true</Success> 
<TotalResult>6</TotalResult> 
<PageResult>6</PageResult> 
<Summary/> 
<DirectoriesResult>...</DirectoriesResult> 
</VDWSDirectoriesResult> 

나는 Success 노드를 좀하고 싶습니다, 내가 /VDWSDirectoriesResult/Success 또는 Success했지만, 난 여전히 Success 노드의 값을 얻을 수 없다 ... 내가 뭘 잘못 했나요? 감사.

xmlns="http://tempuri.org/" 

이 당신의 <Success> 노드가 그 네임 스페이스에 실제로, 그리고 당신이 당신 XPath 식에 Success를 작성하는 경우 XPath를 가정하는 익명의 네임 스페이스에 의미 :

답변

4

루트 노드는 기본 네임 스페이스를 선언합니다.

사용중인 XPath 라이브러리에 따라 네임 스페이스 접두사를 네임 스페이스 URI http://tempuri.org/에 매핑하는 몇 가지 방법이 있습니다.이 네임 스페이스 접두사는 XPath 식에서 사용할 수 있습니다.

예를 들어

,의는 해당 URI에 네임 스페이스 접두사 tmp을지도한다고 가정하자, 당신의 XPath는 읽어야

/tmp:VDWSDirectoriesResult/tmp:Success 
관련 문제