web-dev-qa-db-ja.com

Python)でXMLタグ値を取得する方法

次のように、PythonのUnicode文字列変数に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を使用して6<value><text>6</text></value>を抽出するにはどうすればよいですか?

10
kalaracey

BeautifulSoup は、私が知る限り、XMLを解析する最も簡単な方法です...

そして、あなたが紹介を読んだと仮定して、それから単に使用してください:

soup = BeautifulSoup('your_XML_string')
print soup.find('text').string
4
Thiem Nguyen

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]
17
Colin Dunklau