我想找到第一次出现的树。例如:
<div id='post>
<p>text1</p>
<p>text2</p>
<img src="a.jpg">
<img src="b.jpg">
<p>text3</p>
<p>text4</p>
<img src="c.jpg">
<p>text5</p>
</div>
我想找到第一次出现的“p / img / @src”。
当我进行xpath搜索时:.//div/p/img[1]/@src
它给出了2次点击,a.jpg和c.jpg
仅第一次出现的xpath是什么(a.jpg)。
我会说.//div/(p/img)[1]/@src
但当然不行。
答案 0 :(得分:1)
最好的选择是:
(//img[@src])[1]/@src
或
(//p//img[@src])[1]/@src
在img
元素中确保p
本身。
答案 1 :(得分:0)
正如马丁所说,img
不是p
的孩子。此外,在您的示例中,id
内的div
属性的单引号关闭和img
的标记关闭。
在这里你的xml更正了:
<div id='post'>
<p>text1</p>
<p>text2</p>
<img src="a.jpg"/>
<img src="b.jpg"/>
<p>text3</p>
<p>text4</p>
<img src="c.jpg"/>
<p>text5</p>
</div>
现在选择第一张图片,您只需使用//img[1]/@src
或//img[@src="a.jpg"]