我有一个包含多行的表,我正在尝试使用xpath来查找每一行中包含特定值的一行。例如,我希望第1列中的“foo”,第2列中的“bar”和第3列中的“baz”。
我可以使用什么xpath来获取包含这些特定列中这三个特定值的行?
例如,根据下表,我希望能够仅返回预期列中具有三个预期值的一行
<table>
<tr><td>foo</td><td>bar</td><td>xxx</td></tr>
<tr><td>xxx</td><td>bar</td><td>baz</td></tr>
<tr><td>foo</td><td>bar</td><td>baz</td></tr>
<tr><td>bar</td><td>baz</td><td>foo</td></tr>
<tr><td>foo</td><td>xxx</td><td>baz</td></tr>
</table>
答案 0 :(得分:14)
这就是技巧(假设table
元素是当前上下文节点):
tr[(td[1] = 'foo') and (td[2] = 'bar') and (td[3] = 'baz')]
td[1]
选择第一个td
孩子,td[2]
第二个,等等。然后将条件与and
结合起来。
答案 1 :(得分:1)
这也有诀窍......我确信有更快的方法来获得你想要的东西,不使用xpath ..
// tr [td [1] [text()='foo']和td [2] [text()='bar']和td [3] [text()='baz']] < / p>
答案 2 :(得分:-1)
搜索时可以使用directorypath\[name="value"]\...