xml数据处理--ElementTree模块使用
发布时间:2020-12-15 22:50:19 所属栏目:百科 来源:网络整理
导读:下面是对1.xml的数据的处理代码 # coding:utf-8import xml.etree.ElementTree as ETdef main(): person_data = {} f = open('1.xml') tree = ET.parse(f) root = tree.getroot() with open('data','w') as fp: for person in root.getiterator('person'): fo
下面是对1.xml的数据的处理代码
# coding:utf-8 import xml.etree.ElementTree as ET def main(): person_data = {} f = open('1.xml') tree = ET.parse(f) root = tree.getroot() with open('data','w') as fp: for person in root.getiterator('person'): for item in person.getiterator(): if isinstance(item.text,unicode): item.text = item.text.encode('utf-8') if item.tag != 'person' and item.text is not None: print >>fp,item.tag+":"+str(item.text)+"|",print >>fp if __name__ == '__main__': main() 通过代码可以知道ElementTree在使用上比sax更加方便。 sax和ElementTree的比较: sax:顺序读取数据,不能随意读取,只能从头到尾解析一遍,不能修改数据。不受文件大小限制。 ElementTree:轻量级的dom,可以使用迭代器遍历数据。可以修改数据,随意读取数据。对于大数据来说比sax使用的内存要多很多,因为ElementTree需要载入整个数据。 关于大数据的处理方法请参考该地址: http://www.ibm.com/developerworks/cn/xml/x-hiperfparse/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |