0
<form action='https://myurl.com' name='form2' id="form2" method='post'>
    <input type='hidden' name='abc' value='xxx'>
    <input type="hidden" name="efg" value="yyy">
</form>

假设我在 HTML 页面中有上述表单,我想提取要发布的数据abc=xxx&efg=yyy并将其打印到标准输出。有人知道该怎么做xidel吗?谢谢。

4

1 回答 1

1

如果您的 HTML 文件保存为 test.html,则以下 xidel 命令将返回您期望的结果:

xidel test.html --xpath="string-join(//input ! (@name || '=' || @value), '&')" 

结果:

**** Retrieving: test.html ****
**** Processing: test.html ****
abc=xxx&efg=yyy

如果 HTML 在 HTTP 服务器上,只需替换test.html为 URL:

xidel http://localhost:8080/exist/rest/db/test.html --xpath="string-join(//input ! (@name || '=' || @value), '&')" 

结果:

**** Retrieving (GET): http://localhost:8080/exist/rest/db/test.html ****
**** Processing: http://localhost:8080/exist/rest/db/test.html ****
abc=xxx&efg=yyy

(请注意,Xidel 对未转义的 & 符号表示宽容,我最初预计这会引发错误,但我尝试了,因为output:method='text'.

于 2020-05-07T02:33:03.713 回答