xml.dom.minidom按标记名获取元素

时间:2011-03-24 08:08:19

标签: python xml minidom

如何使用此(下面)xml字符串检索代码的值以及使用xml.dom.minidom时?

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

因为可以出现多个“名称”标签,我想做这样的事情:

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

但不幸的是,这不起作用。

1 个答案:

答案 0 :(得分:1)

以下代码对我来说很好。我认为你有多个标签,你想从第二个标签中获取名称。

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()