我想得到每个表的值和下面给出的表中每个的href值。 作为xpath的新手,我发现编写xpath表达式很困难。 但是,理解xpath表达式的作用在某种程度上更容易。
预期产出
http://a.com/ data for a 526735 Z
http://b.com/ data for b 522273 Z
http://c.com/ data for c 513335 Z
<table class = dataTabe>
<tbody>
<tr>
<td><a HREF="http://a.com/" target="_parent">data for a</a></td>
<td class="numericalColumn">526735</td>
<td class="numericalColumn">Z</td></tr>
<tr>
<td><a HREF="http://b.com/" target="_parent">data for b</a></td>
<td class="numericalColumn">522273</td>
<td class="numericalColumn">B</td></tr>
<tr>
<td><a HREF="http://c.com" target="_parent">data for c</a></td>
<td class="numericalColumn">513335</td>
<td class="numericalColumn">B</td></tr>
</tbody>
</table>
答案 0 :(得分:0)
您需要两件事:一个用于查找所需节点的XPath查询,另一个用于根据需要输出文本的XPath查询。由于您没有提供有关您正在使用的语言的更多信息,因此我将一些伪代码放在一起:
foreach node in document.select("//table[class='dataTable']//tr[td/a/@HREF]")
write node.select("concat(td/a/@HREF,' ',.)")
答案 1 :(得分:0)
此站点有一个很好的免费工具,用于构建XPath表达式(XPath Builder):
答案 2 :(得分:-1)
使用此XPath://tr/td/a/@HREF | //tr//text()