les*_*nar 0 shell command-line curl
我正在使用curl从远程将xml加载为字符串,如下所示:
$ curl -i -H "Accept: application/xml" -X GET "URL Here"
Run Code Online (Sandbox Code Playgroud)
但响应不是 xml 格式,因此不易阅读。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><RunConfig <PipeLineXmlVersion>1.0</PipeLineXmlVersion><DateTime>20161128_160859</DateTime><Analysis><Lane>1</Lane><PipeLine>run_multiplexed_auto_start_v4.0.sh</PipeLine><Version>4.0</Version><Mismatch>1</Mismatch><MergeLane>0</MergeLane<Version>4.0</Version></Analysis></RunConfig>
Run Code Online (Sandbox Code Playgroud)
当我使用一些 REST 客户端尝试相同的 API 时,我可以看到正确的 xml。
正如我搜索的那样,接受标头应该可以工作,但不幸的是在我的情况下不行。
请在这件事上给予我帮助。
谢谢。
如果您所说的“不正确”是指响应打印得不漂亮(即缺少空格和缩进),那么有很多命令行工具可以格式化 xml。
例如:
curl ... | xmllint --format -
Run Code Online (Sandbox Code Playgroud)
在这里,您将curl 的响应传递给( xmllib2-utilsxmllint的一部分),这将格式化您的答案。最后告诉工具从 stdin 读取输入(即管道内容)。-
看看这个问题,了解更多实现它的方法。