【问题标题】:How to parse xml only if specific tag inside仅当内部有特定标签时如何解析xml
【发布时间】:2019-08-13 06:29:38
【问题描述】:

我正在尝试解析 xml 文件并找到汽车的名称(在我的示例中),但我需要准确找到定义颜色标签的汽车名称。 我的 xml 是:

<something>
    <cars>
        <name>Carone</name>
        <model>bmw</model>
    </cars>
    <cars>
        <name>cartwo</name>
        <color>up</color>
        <model>audi</model>
    </cars>
</something>

import xml.etree.ElementTree as ET
car_parse = ET.parse('xml.xml')
res = [events.text for record in car_parse.findall('.//') for events in 
record.findall('name')]
print res

所以我只需要在我的 res 列表中获取“cartwo”,因为颜色是在汽车标签下定义的。

【问题讨论】:

  • cartwo 的 xml 错误...&lt;model&gt;audi&lt;/oper-status&gt;。你能更新一下吗?

标签: python xml parsing xml-parsing elementtree


【解决方案1】:

XPath 表达式/something/cars[color] 将检索那些颜色已知的汽车。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-17
    相关资源
    最近更新 更多