我有一个表单的xml结构;
<Gadgets> <!--This is the root node-->
<info>
<author>Yours sincerely</author>
<email>me@yahoo.com</email>
<phone>+23407------</phone>
<website>me.com</website>
</info>
<!-- I want info and any node before here selected-->
<gadget>
-------
</gadget>
<gadget>
<title>News</title>
<link>blalblala.php</link>
<description>contains News</description>
<category>Tourism</category>
<image url="image2.jpj" title="image name" link="location.jpg"/>
<comment>link to image comments</comment>
<enclosure url="blaaaa.jpg" length="something" type="imag"/>
</gadget>
<gadget>
使用xpath,我想选择信息(或小工具[1]之前的任何节点)和类别具有旅游值的任何小工具。目前,这就是我所拥有的:
"./*/gadget[category = 'Tourism']/following-sibling::gadget[1]"
我也尝试过这个:
"./*/gadget[category = 'Tourism' or following-sibling::gadget[1]]"
和
“Gadgets / * [self :: gadget and category ='Tourism'或(self :: following-sibling :: gadget)]”
没有按预期选择信息。任何指南将受到高度赞赏。谢谢!
答案 0 :(得分:0)
试试这个:
//gadget[./category/text()='Tourism'] | //gadget[1]/preceding-sibling::*
或者,如果您只想要一个&#34;任何节点&#34;最接近第一个gadget
使用
//gadget[./category/text()='Tourism'] | //gadget[1]/preceding-sibling::*[1]