Linux
如何在不下載文件並列印所需字元串的情況下從 http URL 解析 xml 文件?
嗨,我不確定這是否可能,我已經檢查了Google的許多選項。
例如,如果我有一個包含 xml 內容的 http URL:http ://server.com/lastBuild/api/xml
內容如下所示,
<building>false</building>
可以多行顯示
<action/> <building>false</building> <displayName>mercury_system</displayName> <duration>1606128</duration>
我可以解析相同的 http url 而不將內容下載到本地並列印最後一次出現的“假”字元串
<building>false</building>
嗎?
您無需先將其“下載”到文件中。您可以將其作為管道的一部分臨時下載
使用xmlstarlet 解析xml
curl 'http://example.com/lastBuild/api/xml' | xmlstarlet sel -t -c "//building[last()]/text()"
Sed 替代方案:
$ curl -s 'https://raw.githubusercontent.com/gevasiliou/PythonTests/master/test.xml' |tac |sed -n '/<building>/{s/<.[^>]*>//g;p;q}' success