fdroid
@fdroid
press any key

Как спарсить значение xml используя чистый curl без xmllint?

status.xml такого вида
<response>
<cooler>0</cooler>
<s1>28.2</s1>
<s2>51</s2>
<s3>?</s3>
<s4>?</s4>
<s5>8.3</s5>
<s6>27.8</s6>
<s7>?</s7>
<s8>?</s8>
<s9>713</s9>
<s10>951</s10>
<err1>0</err1>
<err2>0</err2>
<err3>0</err3>
<err4>0</err4>
<err5>0</err5>
<err6>0</err6>
<err7>0</err7>
<err8>0</err8>
<err9>0</err9>
<err10>0</err10>
<vst>1</vst>
</response>


xmllint недоступен, есть только curl, grep, awk. Как получить значение, например, s5?
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..
xmllint недоступен
Доступен, я только что проверил
curl -s "127.0.0.1:9000/status.xml" | grep -oPm1 "(?<=<s5>)[^<]+"

6463cd67be132564197349.png

С использованием awk:
curl -s "127.0.0.1:9000/status.xml" | awk -F'[<>]' '/s5/{print $3}'

6463ce3e4ccc3233838739.png
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы