有两种方法,一种是xml.dom.minidom,另一种是xml.etree.ElementTree。

这里先说第一种。

昂,到家一看第二种已经有人写出来了,这里更新一下代码,有处小问题。

另外其实还有第三种叫“正则匹配”的方法,晚些时候更新。

import xml.dom.minidom

from xml.dom import Node

path = 'xml文件路径'

dom = xml.dom.minidom.parse(path)

root = dom.documentElement

listInfos = []

for child in root.childNodes:

if child.nodeType == Node.ELEMENT_NODE:

dictAttr = {}

for key in child.attributes.keys():

attr = child.attributes[key]

dictAttr[attr.name] = attr.value

listInfos.append({child.nodeName: dictAttr})

# 输出结果更清晰直观一点

for index, each in enumerate(listInfos):

print '----', index + 1, '----', each

输出结果:

---- 1 ---- {u'Item': {u'TotalResult': u'OK', u'CheckResult': u'OK', u'AvName': u'a', u'CheckStatus': u'2', u'TotalStatus': u'2', u'FileId': u'21'}}

---- 2 ---- {u'Item': {u'TotalResult': u'OK', u'CheckResult': u'OK', u'AvName': u'a', u'CheckStatus': u'2', u'TotalStatus': u'2', u'FileId': u'21'}}

---- 3 ---- {u'Item': {u'TotalResult': u'OK', u'CheckResult': u'OK', u'AvName': u'a', u'CheckStatus': u'2', u'TotalStatus': u'2', u'FileId': u'21'}}

如需详细注释的话可以留言。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐