2016-04-02 25 views
0

アンドロイドアプリでは、最初のReisDeelノードの子VervoerTypeIntercityのすべてのActueleVertrekTijdノードを選択しようとしています。XPath:兄弟の子に条件付きノードを選択

私は、次のXML構造を持っている:私はそれだけでTIME1返すようにしたいでしょう。この場合

<ReisMogelijkheden> 
    <ReisMogelijkheid> 
     <ActueleVertrekTijd>time1</ActueleVertrekTijd> 
     <ReisDeel> 
      <VervoerType>Intercity</VervoerType> 
     </ReisDeel 
     <ReisDeel> 
      <VervoerType>Intercity</VervoerType> 
     </ReisDeel> 
    </ReisMogelijkheid> 
    <ReisMogelijkheid> 
     <ActueleVertrekTijd>time2</ActueleVertrekTijd> 
     <ReisDeel> 
      <VervoerType>Sprinter</VervoerType> 
     </ReisDeel 
     <ReisDeel> 
      <VervoerType>Intercity</VervoerType> 
     </ReisDeel> 
    </ReisMogelijkheid> 
</ReisMogelijkheden> 

グーグルのいくつかの時間後、私は、いろいろなことを試してみました最高のはそのうちの下で:

/ReisMogelijkheden/ReisMogelijkheid/Reisdeel[1][child::VervoerType/self::text()='Intercity']/ActueleVertrekTijd 
/ReisMogelijkheden/ReisMogelijkheid[Reisdeel[VervoerType[text()='Intercity']]]]/ActueleVertrekTijd 

/ReisMogelijkheden/ReisMogelijkheid[Reisdeel[child::VervoerType/self::text()='Intercity']]/ActueleVertrekTijd 
/ReisMogelijkheden/ReisMogelijkheid[child::Reisdeel[child::VervoerType/self::text()='Intercity']]/ActueleVertrekTijd 

/ReisMogelijkheden/ReisMogelijkheid/Reisdeel[VervoerType[text()='Intercity']]/../ActueleVertrekTijd 

しかし、それらのどれもが何かを返されません。 XPathはエラーメッセージを出さないのでデバッグが難しいので、今は固執しています。

答えて

3
//ReisMogelijkheid[ReisDeel[1]/VervoerType = "Intercity"]/ActueleVertrekTijd 
+0

はい、それです!私は二重引用符を一重引用符に変更しなければならなかった。なぜなら、それはJava Stringだからだが、完全に動作する。 – PHPirate

+0

あなたは大歓迎です!助けてうれしい! – splash58