查看文档,目标是选择 第二行中的第二个单元格,在第一个表格中。
我创建了以下表达式:
//row/td[2]/text()[td[@class="identifier"]/span[text()="identifier"]]
但它不会返回任何行。不幸的是,我没有看到什么是错的。
对我来说,它看起来还不错。表达式应该:
select the text
in the second cell
in any row
where
the text of a span equals to "identifier"
and the span is located in cell with a "identifier" class
如果你能指出我做错了什么,我会很感激。
示例XML文档:
<?xml version="1.0"?>
<html>
<table class="first">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td class="identifier">
<span>identifier</span>
</td>
<td>
foo
<span>ignore</span>
bar
</td>
</tr>
<tr>
<td>row 3, cell 1</td>
<td>row 3, cell 2</td>
</tr>
</table>
<table class="second">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td class="identifier">
<span>not an identifier</span>
</td>
<td>
not a target
</td>
</tr>
<tr>
<td>row 3, cell 1</td>
<td>row 3, cell 2</td>
</tr>
</table>
</html>
答案 0 :(得分:4)
乍一看,我认为你的意思是写:
//tr/td[2][@class="identifier"][span="identifier"]
奇怪的是,我没有在样本数据中看到任何符合所有三个条件的节点。
编辑:根据反馈,这是另一个要尝试的查询。
//tr[td/@class="identifier"][td/span="identifier"]/td[2]/text()