Python 解析XML

node1 node2
nothing

xml 格式如上.

首先要得到root节点:

from xml.etree.ElementTree import ElementTree tree = ElementTree()
tree.parse(filename) # 你想使用哪个文件作为输入? root = tree.getroot()
“”“如果你的输入的是一段content”“” from xml.etree.ElementTree import XML file =
open(filename) content = file.read(-1) root = XML(content) print(root.tag)
file.close() # or you can use from xml.etree.ElementTree import XMLID file =
open(filename) root = XMLID(file.read(-1)) print(root[0].tag) # root[0] is
file.close()

上面的root是class Element的object, 而tree 是ElementTree的object. 如果想得到某个节点的attribute,
例如
则element.attrib[‘name’]即可.如果是text,就是element.text.

如果想得到下一层节点,可以使用root.find(tag)得到,如果不知道具体的tag,那么可以使用root.getchildren().如果想使用某个ta
g作为迭代,例如nodes中有两个node.代码如下:

element_nodes = root.find(‘nodes’) nodes_list =
element_nodes.getiterator(‘node’) for node in nodes_list: print(node.tag)