@newbie_python

Как вытащить полученное в ответе на запрос значение?

Всем привет! Отправляю SOAP запрос и получаю ответ:
<?xml version='1.0' encoding='UTF-8'?>
	<soapenv:Envelope
		xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
		<soapenv:Body>
			<Response
				xmlns="URL">
				<message>ba53cf44-5610-40e3-8def-a8b031f1f930</message>
			</Response>
		</soapenv:Body>
	</soapenv:Envelope>


Как я могу вытащить значение из тега "message" полученного в ответе и сохранить в отдельную переменную? Ниже код, который использую.

import requests
url="URL"
#headers = {'content-type': 'application/soap+xml'}
headers = {'content-type': 'text/xml'}
body = """MY_SOAP_REQUEST"""

response = requests.post(url,data=body.encode('utf-8'),headers=headers)
answer = response.content.decode('UTF-8')

print(response)
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
Zoominger
@Zoominger Куратор тега Python
System Integrator
Берёте да парсите XML.
Мне вот такое зашло: https://codecamp.ru/blog/python-manipulating-xml/
Можно "в лоб" найти в ответе тег <message> и вытащить значение через регэкспы или тупо с find().
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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