python - xml.dom.minidom 通过标记名获取元素

标签 python xml minidom

在使用 xml.dom.minidom 时,如何使用此(下面的)xml 字符串检索 code 的值?

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

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

最佳答案

下面的代码对我来说效果很好。我认为您有多个标签,并且您想从第二个标签获取名称。

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

关于python - xml.dom.minidom 通过标记名获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5416348/

相关文章:

python - Flask with Jinja 在第一页之后出现分页问题

python - numpy.minimum 用于复数

python - 如何在不定义任何限制的情况下在 python 中获取任意数量的输入?

java - 处理 XMLfile XStream API 时出现 ConversionException

python - 外派错误 : junk after document element

python xml minidom 获取包含子节点和文本的子节点的全部内容

python - 如何编写时间相关的测试 Python

c# - 如何反序列化具有 2 个同名元素但元素具有不同数据类型的 XML?

java - 从纵向切换到横向时出错

python - 通过节点属性使用 getElementsByTagName 后对节点进行排序