def etree_to_dict(t): d = {t.tag : map(etree_to_dict, t.iterchildren())} d.update(('@' + k, v) for k, v in t.attrib.iteritems()) d['text'] = t.text return d称为
tree = etree.parse("some_file.xml")etree_to_dict(tree.getroot())只要您实际上没有属性
text,它就可以工作;如果您这样做,则更改函数正文中的第三行以使用其他键。此外,您不能与此一起处理混合内容。
(在LXML上测试。)



