我有一些代码块,需要从中获取数据并尝试不同版本的xpath命令,但没有成功。
<div>
<div class="some_class">
<a title="id" href="some_href">
<nobr>1<br>
</a>
</div>
<div class="some_other_class">
<a title="name" href="some_href">
<nobr>John<br>
</a>
</div>
</div>
<div>
<div class="some_class">
<a title="id" href="some_href">
<nobr>2<br>
</a>
</div>
<div class="some_other_class">
<a title="name" href="some_href">
<nobr>John<br>
</a>
</div>
</div>
// and many blocks like this
因此,这个div块是相同的,除了它们的子元素的内容不同。我需要xpath查询来获取John的href <a title="id">
等于1。
我尝试过这样的事情:
//div[./div/nobr='1' AND ./div/nobr='John']
只得到包含我需要的数据的div,然后就不会很难得到John的href。
另外,我设法用以下方式获得John的href:
//a[./nobr='John'][@title='name']/@href
但是这样它不依赖于<a title="id"...>
元素的值,但它必须依赖它。
有什么建议吗?
答案 0 :(得分:0)
我认为你想要的是什么
//div/div[a/@title='id']/following-sibling::div[1]/a/@href
,如果输入文档格式正确,将返回(单个结果以--------
分隔):
href="some_href"
-----------------------
href="some_href"
你没有非常清楚地解释它,正如kjhughes所指出的那样,也许你的样本HTML并不理想。
关于您尝试的路径表达式,由于输入是HTML,因此很难知道是否
<nobr>John<br>
表示“John”是 nobr
元素内部。