python getchildren xml_Python get返回xml解析问题

匿名用户

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赋值一串空字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值