>>> code = '''<program new-version="1.1.1.1" name="ProgramName">
... <download-url value="http://website.com/file.exe"/>
... </program>'''
:上
>>> import xml.dom.minidom
>>> doc = xml.dom.minidom.parseString(code)
>>> doc.getElementsByTagName('download-url')[0].getAttribute('value')
u'http://website.com/file.exe'
:ビルトインxml.dom.minidomで
>>> import xml.etree.ElementTree
>>> doc = xml.etree.ElementTree.fromstring(code)
>>> doc.find('.//download-url').attrib['value']
'http://website.com/file.exe'
:ビルトインxml.etree.ElementTreeで
>>> import lxml.etree
>>> lxml.etree.fromstring(code).xpath('//download-url/@value')[0]
'http://website.com/file.exe'
あなたが選ぶのはあなた次第です。 lxmlはインストールする必要がありますが、最も高速で機能豊富なライブラリです。 xml.etree.ElementTreeにはファンキーなインターフェースがあり、XPathのサポートは制限されています(Python標準ライブラリのバージョンによって異なります)。 xml.dom.minidomはxpathをサポートしておらず、速度が遅くなる傾向がありますが、クロスプラットフォームDOMを実装しています。あなたもcssselect
f = open("your xml file",'r')
values = f.readlines()
values = "".join(values)
import lxml.html
doc = lxml.html.fromstring(values)
elements = doc.cssselect('document program download-url') //csspath using firebug
elements[0].get('value')
出力を使用することができます'http://website.com/file.exe'