【问题标题】:Issue with XML parsing in pythonpython中XML解析的问题
【发布时间】:2016-12-05 16:48:15
【问题描述】:

我在 Python 中使用 xml.etree.ElementTree 解析 XML 树时遇到了困难。基本上,我向提供 XML 响应的 API 发出请求,并尝试提取树中几个元素的值。

这是我迄今为止所做的没有成功:

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 文档中提取步行分数,但我的代码没有返回值。有使用 ElementTree 经验的人有什么建议可以帮助我提取我所追求的值吗?

山姆

【问题讨论】:

    标签: python xml


    【解决方案1】:

    您的 XML 格式似乎不正确。但是如果我用&amp;amp; 替换&amp; 的实例,那么它是可解析的:

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

    【讨论】:

      猜你喜欢
      • 2020-04-15
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 2018-11-26
      • 1970-01-01
      • 2017-10-09
      • 1970-01-01
      相关资源
      最近更新 更多