Как получить значение XML-тега в Python
У меня есть XML в переменной unicode-string в Python следующим образом:
<?xml version='1.0' encoding='UTF-8'?>
<results preview='0'>
<meta>
<fieldOrder>
<field>count</field>
</fieldOrder>
</meta>
<result offset='0'>
<field k='count'>
<value><text>6</text></value>
</field>
</result>
</results>
как извлечь 6
на <value><text>6</text></value>
использование Python?
2 ответов
BeautifulSoup Это самый простой способ проанализировать XML, насколько я знаю...
и предположим, что вы прочитали введение, то просто использовать:
soup = BeautifulSoup('your_XML_string')
print soup.find('text').string
С lxml:
import lxml.etree
# xmlstr is your xml in a string
root = lxml.etree.fromstring(xmlstr)
textelem = root.find('result/field/value/text')
print textelem.text
Edit: но я предполагаю, что может быть более одного результата...
import lxml.etree
# xmlstr is your xml in a string
root = lxml.etree.fromstring(xmlstr)
results = root.findall('result')
textnumbers = [r.find('field/value/text').text for r in results]