我有一个输出HTML的Feed。以下段是输出
的一部分<div class="leftnav">
<table border="0" cols="2">
<tr>
<td colspan="2" class="topline"><span style="font-size: 1px"> </span></td>
</tr>
<tr>
<td colspan="2"><span class="bold">Article Cat1 </span></td>
</tr>
<tr>
<td class="date" colspan="2">
ArticleTitle1</td>
</tr>
<tr>
<td width="20"></td>
<td class="date">
ArticleLink1
</td>
</tr>
<tr>
<td colspan="2" class="topline"><span style="font-size: 1px"> </span></td>
</tr>
<tr>
<td colspan="2"><span class="bold">Article Cat2 </span></td>
</tr>
<tr>
<td class="date" colspan="2">
ArticleTitle2</td>
</tr>
<tr>
<td width="20"></td>
<td class="date">
ArticleLink2
</td>
</tr>
</table>
</div>
我想使用XPATH处理上面的段,以便输出看起来像这样
文章Cat1 ArticleTitle1 ArticleLink1 Article Cat2 ArticleTitle2 ArticleLink2
产生所需输出的最佳XPATH是什么?我尝试了//div[@class="leftnav"]/table/tr
,但这给了所有TR元素。我想跳过第一个TR元素,这样我就可以得到上面描述的格式的输出。
答案 0 :(得分:0)
//div[@class="leftnav"]/table/tr[position() > 1]
试试上面的
答案 1 :(得分:0)
愚蠢的简单方法:
substring-after(normalize-space(string(//*:div)), normalize-space(string(//*:div/*:table/*[1])))
结果:“文章Cat1 ArticleTitle1 ArticleLink1 nbsp Article Cat2 ArticleTitle2 ArticleLink2”
我不知道为什么,但是(position() > 1
)在我的环境中不起作用,所以我使用了字符串。