13

我调用elems = xmldoc.getElementsByTagName('myTagName')了一个解析为minidom.parse(xmlObj). 现在我正在尝试获取该元素的文本内容,虽然我花了一段时间查看 dir() 并尝试了一些东西,但我还没有找到调用。作为我想要完成的一个例子,在:

<myTagName> Hello there </myTagName>

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

谢谢

4

3 回答 3

28

试试这样:

xmldoc.getElementsByTagName('myTagName')[0].firstChild.nodeValue
于 2010-12-19T21:18:33.367 回答
7

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

    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
于 2015-05-16T12:02:46.253 回答
2
for elem in elems:
    print elem.firstValue.nodeValue

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

詹姆士

于 2010-12-19T21:21:53.220 回答