0

我想找到一棵树的第一次出现。例子:

<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,但当然不工作。

4

2 回答 2

1

最好的选择是:

(//img[@src])[1]/@src

或者

(//p//img[@src])[1]/@src

确保img自己在一个p元素中。

于 2013-07-23T12:16:13.583 回答
0

正如马丁所说img,不是p. 此外,在您的示例中,缺少id内部属性的单引号关闭divimg. 在这里您的 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"]

于 2013-07-23T11:23:15.867 回答