代码之家  ›  专栏  ›  技术社区  ›  Avinash

如何对Minidom中的特定节点使用getElementsByTagName

  •  0
  • Avinash  · 技术社区  · 4 年前

    <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 在下面 <DEMAND> . 我试过下面的代码。

    from xml.dom import minidom
    root=minidom.parse('sample.xml')
    tag=root.getElementsByTagName('type')
    for i in tag: 
        print(i.getAttribute("id"))
    

    身份证件

    123
    345
    809
    321
    456
    765
    

    我怎么能只得到 809 &安培; 321 <需求> 标签。我可以给他一条路 ElementTree 但不知道该如何让步 getElementsByTagName

    1 回复  |  直到 4 年前
        1
  •  1
  •   Tomalak    4 年前
    for demand in root.getElementsByTagName('DEMAND'):
        for tp in demand.getElementsByTagName('type'):
            print(tp.getAttribute("id"))