在Android应用中,我尝试选择第一个ActueleVertrekTijd
节点的孩子VervoerType
等于ReisDeel
的所有Intercity
个节点。
我有以下xml结构:
<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>
在这种情况下,我希望它只返回time1。
经过几个小时的谷歌搜索,我尝试了各种各样的东西,其中最好的是:
/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很难调试,因为它没有给出任何错误信息,所以我现在卡住了。
答案 0 :(得分:4)
//ReisMogelijkheid[ReisDeel[1]/VervoerType = "Intercity"]/ActueleVertrekTijd