Python:如何使用xml.dom.minidom获取XML元素的文本内容?

时间:2010-12-19 21:14:25

标签: python xml minidom

我在我解析为elems = xmldoc.getElementsByTagName('myTagName')的XML对象上调用了minidom.parse(xmlObj)。现在我正在尝试获取此元素的文本内容,虽然我花了一段时间浏览dir()并尝试了解决方法,但我还没有找到调用。作为我想要完成的一个例子,在:

<myTagName> Hello there </myTagName>

我想提取的只是“你好”。 (显然我可以自己解析这个,但我希望有一些内置的功能)

由于

3 个答案:

答案 0 :(得分:23)

试试这样:

xmldoc.getElementsByTagName('myTagName')[0].firstChild.nodeValue

答案 1 :(得分:5)

等等......你想要给定节点下的所有文本吗?然后它涉及某种子树遍历功能。不必递归,但这很好用:

    def get_all_text( node ):
        if node.nodeType ==  node.TEXT_NODE:
            return node.data
        else:
            text_string = ""
            for child_node in node.childNodes:
                text_string += get_all_text( child_node )
            return text_string

答案 2 :(得分:3)

for elem in elems:
    print elem.firstValue.nodeValue

这将打印出每个myTagName的文本。

詹姆斯