python 读取xml时文本节点显示元素节点

2024-12-21 21:16:23
推荐回答(2个)
回答1:

这里的4是作为maxid的子字节点存在的,所以你需要再遍历一层


dom = xml.dom.minidom.parse('c:/12345.xml')
root = dom.documentElement
for rt in root.childNodes:
    if rt.nodeName == 'maxid':
        for node in rt.childNodes:
            print node.nodeValue
            print node.data

如果你确定这里只有一个maxid,你也可以

import xml.dom.minidom

dom = xml.dom.minidom.parse('c:/12345.xml')
maxid_nodes = dom.getElementsByTagName('maxid')
print maxid_nodes[0].firstChild.data

希望采纳。

回答2:

递归读取所有元素内容。

import xml.dom.minidom
def getNodeText(ele):
    if ele.nodeType == xml.dom.minidom.Node.ELEMENT_NODE:
        for e in ele.childNodes:
            getNodeText(e)
    elif ele.nodeType in (xml.dom.minidom.Node.TEXT_NODE,xml.dom.minidom.Node.CDATA_SECTION_NODE):
        print([ele.nodeValue.strip()])
dom= xml.dom.minidom.parse('t.xml')
root = dom.documentElement
getNodeText(root)