通过标签名获取xml.dom.minidom中的元素

1 投票
1 回答
6841 浏览
提问于 2025-04-16 14:19

我想知道如何从下面这个xml字符串中获取code的值,并且是使用xml.dom.minidom这个库。

<data>
    <element1>
        <name>myname</name>
    </element1>
    <element2>
        <code>3</code>
        <name>another name</name>
    </element2>
</data>

因为可能会出现多个'name'标签,所以我想做类似这样的操作:

from xml.dom.minidom import parseString
dom = parseString("<data>...</data>")
dom.getElementsByTagName("element1").getElementsByTagName("name")

可惜这样做不行。

1 个回答

2

下面的代码对我来说运行得很好。我觉得你有多个标签,而你想从第二个标签中获取名字。

myxml = """\
<data>
    <element>
        <name>myname</name>
    </element>
    <element>
        <code>3</code>
        <name>another name</name>
    </element>
</data>
"""

dom = xml.dom.minidom.parseString(myxml)
nodelist = dom.getElementsByTagName("element")[1].getElementsByTagName("name")
for node in nodelist:
    print node.toxml()

撰写回答