2016-12-05 7 views
0

Pythonでxml.etree.ElementTreeを使用してXMLツリーの解析に問題があります。基本的には、私はAPIにXML応答を与え、ツリー内のいくつかの要素の値を抽出しようとする要求を出しています。PythonでのXML解析に関する問題

これは私がいない成功し、これまで何をやったかである:ここでは

root = etree.fromstring(resp_arr[0]) 
walkscore = root.find('./walkscore') 

は私のXMLツリーです:

基本的に
<result> 
    <status>1</status> 
    <walkscore>95</walkscore> 
    <description>walker's paradise</description> 
    <updated>2009-12-25 03:40:16.006257</updated> 
    <logo_url>https://cdn.walk.sc/images/api-logo.png</logo_url> 
    <more_info_icon>https://cdn.walk.sc/images/api-more-info.gif</more_info_icon> 
    <ws_link>http://www.walkscore.com/score/1119-8th-Avenue-Seattle-WA-98101/lat=47.6085/lng=-122.3295/?utm_source=myrealtysite.com&utm_medium=ws_api&utm_campaign=ws_api</ws_link> 
    <help_link>https://www.redfin.com/how-walk-score-works</help_link> 
    <snapped_lat>47.6085</snapped_lat> 
    <snapped_lon>-122.3295</snapped_lon> 
</result> 

、私はXMLからwalkscoresを引くしようとしています私のコードは値を返していません。 ElementTreeを使用している経験がある人なら誰でも私の後ろにある値を抽出するのに役立つアドバイスはありますか?

サム

答えて

2

XMLが不正な形式です。しかし、&のインスタンスを&amp;に置き換えた場合、それは解析可能です:

>>> from xml.etree import ElementTree as ET 
>>> tree = ET.fromstring(xml) 
>>> tree.find('./walkscore').text 
'95'