首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xidel提取键值对

使用xidel提取键值对
EN

Stack Overflow用户
提问于 2014-11-17 23:03:27
回答 2查看 1.2K关注 0票数 2

我在一个网站上有多张桌子,如下所示:

代码语言:javascript
复制
<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>
...

我想要收到这样的东西

代码语言:javascript
复制
foo    15
bar    42

我在xidel中的第一次尝试是xidel --xpath "//table/tr[1]/td[2]" --xpath "//table/tr[2]/td[2]",但这里给出了

代码语言:javascript
复制
foo
bar

15
42

如何在一行中提取两个值?

EN

回答 2

Stack Overflow用户

发布于 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元素,路径也需要该元素。

票数 2
EN

Stack Overflow用户

发布于 2016-07-16 00:55:30

代码语言:javascript
复制
xidel-0.9.5.4998.exe -s --input-format=xml <input> ^
                     --xquery "//table/concat(tr[1]/td[2],'&#09;',tr[2]/td[2])"
foo     15
bar     42
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26975551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档