Python 3.x 如何为Minidom中的特定节点使用getElementsByTagName

Python 3.x 如何为Minidom中的特定节点使用getElementsByTagName,python-3.x,xml,elementtree,getelementsbytagname,minidom,Python 3.x,Xml,Elementtree,Getelementsbytagname,Minidom,我的XML看起来像这样 <TOPIC> <LIST> <Area>JKH</Area> <USED> <type id='123' /> <type id='345' /> </USED> <DEMAND> <type id='809' /&

我的XML看起来像这样

<TOPIC>
    <LIST>
        <Area>JKH</Area>
        <USED>
            <type id='123' />
            <type id='345' />
        </USED>
        <DEMAND>
            <type id='809' />
            <type id='321' />
        </DEMAND>
        <CLOSED>
            <type id='456' />
            <type id='765' />
        </CLOSED>
    </LIST>
</TOPIC>
但这是打印所有
id
值,如下所示

123
345
809
321
456
765

如何仅获取
标记下的
809
321
。我可以在
ElementTree
中给出路径,但不确定如何在
getElementsByTagName
中给出路径?甚至在小型游戏中也可以吗?

太好了。这就是我要找的for@Avinash需求越复杂,选择支持XPath的DOM实现(如ElementTree)就越有利。XPath
//DEMAND/type/@id
将替换这个嵌套循环。这是一个非常有效的观点。我会记下来的。
for demand in root.getElementsByTagName('DEMAND'):
    for tp in demand.getElementsByTagName('type'):
        print(tp.getAttribute("id"))
for demand in root.getElementsByTagName('DEMAND'):
    for tp in demand.getElementsByTagName('type'):
        print(tp.getAttribute("id"))