Вывод синтаксического анализатора Python из команды

#python #parsing #output #extract

Вопрос:

Я повторяю этот вывод с помощью команды curl:

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?><restQueuedBuild planKey="project-build001" buildNumber="123" buildResultKey="project-build001-123"><triggerReason>Manual build</triggerReason><link href="https://mybamboo.server.com/rest/api/latest/result/project-build001-123" rel="self"/></restQueuedBuild>
 

Как попасть в номер сборки volue 123 в python?

Комментарии:

1. Что вы искали и что вы нашли? Что вы пробовали и как это получилось?

Ответ №1:

Попробуйте это:

 import xml.etree.ElementTree as ET
root = ET.fromstring('<?xml version="1.0" encoding="UTF-8" standalone="yes"?><restQueuedBuild planKey="project-build001" buildNumber="123" buildResultKey="project-build001-123"><triggerReason>Manual build</triggerReason><link href="https://mybamboo.server.com/rest/api/latest/result/project-build001-123" rel="self"/></restQueuedBuild>')


print(root.get('buildNumber'))
 

Ответ №2:

вам нужно использовать пакет BeautifulSoup. Вы можете установить через pip вот так

pip установите BeautifulSoup

Сделайте это для того, чтобы вы получили желаемый результат

 from bs4 import BeautifulSoup

soup = BeautifulSoup('<?xml version="1.0" encoding="UTF-8" standalone="yes"?><restQueuedBuild planKey="project-build001" buildNumber="123" buildResultKey="project-build001-123"><triggerReason>Manual build</triggerReason><link href="https://mybamboo.server.com/rest/api/latest/result/project-build001-123" rel="self"/></restQueuedBuild>', 'lxml')

subResult = soup.find('restqueuedbuild')
result = subResult['buildnumber']
print result
 

Шрифт: https://linuxhint.com/parse_xml_python_beautifulsoup/