18

我在 Python 的 unicode-string 变量中有一些 XML,如下所示:

<?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>

如何使用 Python提取6in ?<value><text>6</text></value>

4

2 回答 2

20

使用 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

编辑:但我想可能会有不止一个结果......

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]
于 2012-07-05T19:31:31.150 回答
6

据我所知,BeautifulSoup是解析 XML 的最简单方法......

并假设您已经阅读了介绍,那么只需简单地使用:

soup = BeautifulSoup('your_XML_string')
print soup.find('text').string
于 2012-07-05T19:34:06.407 回答