匿名用户
1级
2014-12-18 回答
你这贴的代码格式都不调一下,看的好痛苦。。。。。
另:贴一份我早期写的一个解析xml转换为字典的代码,支持中文
细微部分,你自己调
import xml.etree.ElementTree as ET
import os
'''
将指定目录下的xml文件转换为字典 dict
strXmlFileName : xml 文件name
strElementPath : xml 节点
dictSubElement : dict 用于返回
eg. my_dict = xml2dict('xxx.xml', 'node', my_dict)
'''
def xml2dict(strXmlFileName, strElementPath, dictSubElement):
elementList = []
dictSubElement.clear()
try:
eTree=ET.parse(os.getcwd() + strXmlFileName)
except Exception,errorinfo:
print "xml2dict: ET.parse(%s) generate exception, errorinfo:%s" % ((os.getcwd() + strXmlFileName), errorinfo)
raise errorinfo
try:
elementList=eTree.findall(strElementPath)
except Exception,errorinfo:
print "xml2dict: eTree.findall(%s) generate exception, errorinfo:%s" % (strElementPath, errorinfo)
raise errorinfo
pathList = []
for element in elementList:
for subelement in element.getchildren():
# print "tag:%s, text:%s" % (subelement.tag, subelement.text.encode("utf-8"))
if subelement.text is not None:
if subelement.tag in pathList:
dictSubElement[subelement.tag] = (os.getcwd() + subelement.text).encode('utf-8')
else :
dictSubElement[subelement.tag] = subelement.text.encode('utf-8')
else:
dictSubElement[subelement.tag] = "" #将None赋值一串空字符串