前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 字典转成xml文件

python 字典转成xml文件

作者头像
用户5760343
发布2019-10-21 15:26:23
5650
发布2019-10-21 15:26:23
举报
文章被收录于专栏:sktj

from xml.etree.ElementTree import Element, SubElement, tostring from xml.dom.minidom import parseString

def main(): BOOKs = { '001': { 'title' : 'Name1', 'edition' : 2, 'year' : 2006, }, '002': { 'title' : 'Name2', 'year' : 2009, }, } books = Element('books') for isbn, info in BOOKs.items(): #此处若用python2,则改为iteritems() book = SubElement(books, 'book') info.setdefault('authors', '无缘浪子党') info.setdefault('edition',1) for key, val in info.items(): SubElement(book, key).text = ', '.join(str(val).split(':')) #此处是脚本正式开始工作的地方,首先创建顶层对象,即books,接着将所有其他内容添加到该节点下,#对于每一本书,都添加一个book子节点,如果上面的原字典没有提供作者和版本,则使用提供的默认值。接着#遍历所有键值对,将这些内容作为其他子节点添加到每个book中。 xml = tostring(books) print('*** RAW XML ***') print(xml)

代码语言:javascript
复制
print('\n*** PRETTY-PRINTED XML')
dom = parseString(xml)
print(dom.toprettyxml(' '))

print('***FLAT STRUCTURE')
for elmt in books.iter():     #此处若为Python2,则改为getiterator()
    print(elmt.tag, '-', elmt.text)

print('\n*** TITLES ONLY ***')
for book in books.findall('.//title'):
    print(book.text)

if name == 'main': main()

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.10.18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档