如何使用xpath从表中获取表数据
我可以使用什么如何使用xpath从表中获取表数据,xpath,Xpath,我可以使用什么XPATH查询来获取html表中每一行的第一个和第三个标记的值 我使用的XPATH查询是 /table/tr/td[1]| td[3] 这仅返回表中每一行的第一个标记中的值 范例 我希望从下表中得到bob、19、jane、11、cameron和32的值。但我只有鲍勃,简,卡梅隆 <table> <tr><td>Bob</td><td>Male</td><td>19</td></tr
XPATH
查询来获取html表中每一行的第一个和第三个
标记的值
我使用的XPATH
查询是
/table/tr/td[1]| td[3]
这仅返回表中每一行的第一个
标记中的值
范例
我希望从下表中得到bob、19、jane、11、cameron和32的值。但我只有鲍勃,简,卡梅隆
<table>
<tr><td>Bob</td><td>Male</td><td>19</td></tr>
<tr><td>Jane</td><td>Feale</td><td>11</td></tr>
<tr><td>Cameron</td><td>Male</td><td>32</td></tr>
</table>
BobMale19
珍妮菲11
卡梅隆马勒32
试试看
我记得以前做过这件事,觉得很烦人,因为它既难看又冗长
/table/tr/td[1]|/table/tr/td[3]
是正确的
避免使用|
(union)运算符且可能更有效的等效XPath表达式是:
/table/tr/td[position() = 1 or position() = 3]
回答正确,但我看不出其中的丑陋。这也是XPath1.0,但在XPath2.0中,您可以使用
/table/tr/(td[1]| td[3])
@Alejandro——这似乎是不正确的。也许你的意思与我回答中的表达类似?:)@迪米特:杰克·诺布尔的答案对我很有用。也是我的XPath2.0表达式。好问题(+1)。另一个可能更有效的解决方案,请参见我的答案。
/table/tr/td[position() = 1 or position() = 3]