Como posso analisar um arquivo xml da URL http sem fazer o download do arquivo e imprimir a string desejada?

0

Oi, eu não tenho certeza se isso é possível, eu verifiquei no google muitas opções.

Por exemplo, se eu tiver uma URL http com conteúdo xml: link

o conteúdo seria algo como abaixo e <building>false</building> isso pode estar presente em várias linhas

<action/> <building>false</building> <displayName>mercury_system</displayName> <duration>1606128</duration>

É possível analisar a mesma URL http sem fazer o download do conteúdo para local e imprimir a última ocorrência da string 'false' em <building>false</building> ?

    
por Subrat Sahoo 15.06.2017 / 17:28

2 respostas

2

Você não precisa fazer o download para um arquivo primeiro. Você pode baixá-lo temporariamente como parte de um pipeline

Use xmlstarlet para analisar xml

curl 'http://example.com/lastBuild/api/xml' 
| xmlstarlet sel -t -c "//building[last()]/text()"
    
por 15.06.2017 / 20:58
0

Alternativa de Sed:

$ curl -s 'https://raw.githubusercontent.com/gevasiliou/PythonTests/master/test.xml' |tac |sed -n '/<building>/{s/<.[^>]*>//g;p;q}'
      success
    
por 15.06.2017 / 21:27