带元素树的Python XML:解析满足多个条件/子节点上的条件的节点
您好,我对Python和XML都是新手(我知道这是一个很好的组合),非常感谢您的帮助。我有一个xml文档,基本上如下所示:带元素树的Python XML:解析满足多个条件/子节点上的条件的节点,xml,python-3.x,elementtree,Xml,Python 3.x,Elementtree,您好,我对Python和XML都是新手(我知道这是一个很好的组合),非常感谢您的帮助。我有一个xml文档,基本上如下所示: <root> <elementaryExchange elementaryExchangeId='alkjalj' amount='5'> <compartment subcompartmentId='52u0298452'>x</compartment> <inputGroup>'4
<root>
<elementaryExchange elementaryExchangeId='alkjalj' amount='5'>
<compartment subcompartmentId='52u0298452'>x</compartment>
<inputGroup>'4'</inputGroup>
</elementaryExchange>
</root>
o和p似乎工作正常,但我似乎无法理解小班id部分。谢谢你的提示 在上述代码中,我想要的列表分别是o、p和r,用于基本交换ID、金额和小班ID。我想我已经明白了——我只是不明白如何使用xpath:
for LX in root.findall(".//elementaryExchange/[inputGroup='4']"):
o.append(LX.attrib['elementaryExchangeId'])
p.append(float(LX.attrib['amount']))
for LXc in root.findall(".//elementaryExchange/[inputGroup='4']/compartment"):
r.append(LXc.attrib['subcompartmentId'])
for LX in root.findall(".//elementaryExchange/[inputGroup='4']"):
o.append(LX.attrib['elementaryExchangeId'])
p.append(float(LX.attrib['amount']))
for LXc in root.findall(".//elementaryExchange/[inputGroup='4']/compartment"):
r.append(LXc.attrib['subcompartmentId'])