我在一个网站上有多张桌子,如下所示:
<table>
<tr>
<td>Name</td>
<td>foo</td>
</tr>
<tr>
<td>Count</td>
<td>15</td>
</tr>
<tr>
<td>Date</td>
<td>2014-11-17</td>
</tr>
</table>
<table>
<tr>
<td>Name</td>
<td>bar</td>
</tr>
<tr>
<td>Count</td>
<td>42</td>
</tr>
<tr>
<td>Date</td>
<td>2014-12-24</td>
</tr>
</table>
...我想要收到这样的东西
foo 15
bar 42我在xidel中的第一次尝试是xidel --xpath "//table/tr[1]/td[2]" --xpath "//table/tr[2]/td[2]",但这里给出了
foo
bar
15
42如何在一行中提取两个值?
发布于 2014-11-18 00:53:13
使用XPath或XQuery 3.0://table/tbody/(tr[1]/td[2] || ' ' || tr[2]/td[2])。我认为你需要明确地请求那个版本,至少我需要在http://videlibri.sourceforge.net/cgi-bin/xidelcgi上这样做。我解析为HTML,其中解析器添加了一个tbody元素,路径也需要该元素。
发布于 2016-07-16 00:55:30
xidel-0.9.5.4998.exe -s --input-format=xml <input> ^
--xquery "//table/concat(tr[1]/td[2],'	',tr[2]/td[2])"
foo 15
bar 42https://stackoverflow.com/questions/26975551
复制相似问题