<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
并将其打印到stdout。有人知道如何使用xidel
吗?谢谢。
答案 0 :(得分: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'
似乎没有明确的选择。