前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python进阶-文本处理-XML数据

Python进阶-文本处理-XML数据

作者头像
小团子
发布2019-07-18 15:35:49
4990
发布2019-07-18 15:35:49
举报
文章被收录于专栏:数据云团数据云团

XML 是一个结构化数据格式。

  • 将 Python 字典转换成 XML
代码语言:javascript
复制
from xml.etree.ElementTree import Element, SubElement, tostring
from xml.dom.minidom import parseString
代码语言:javascript
复制
Articles = {
  '0001': {
    "title": "Python进阶-GUI-Tk接口",
    "name": "小团子",
    "time": 2019,
    "image": "www.shujuyuntuan.com/static/image/0001.jpg",
  },
  '0002': {
    "title": "Python进阶-Web 服务",
    "name": "数据云团",
    "time": 2018
  },
  '0003': {
    "title": "Python进阶-GUI-目录树",
    "name": "团子",
    "time": 2017,
    "tags": "python"
  },
}

首先创建顶层对象,即 articles,接着将所有其它内容添加到该节点下。对于每一篇文章,都添加一个 article 子节点,如果上面的原字典没有提供封面图和标签,则使用提供的默认值。接着遍历所有键值对,将这些内容作为其它子节点添加到每个 article 中。

代码语言:javascript
复制
articles = Element("articles")
for article_id, info in Articles.items():
  article = SubElement(articles, 'article')
  info.setdefault("image", "www.shujuyuntuan.com/static/image/default.jpg")
  info.setdefault("tags", "python")
  for key, val in info.items():
    SubElement(article, key).text = ", ".join(str(val).split(":"))
xml = tostring(articles)
print("*** XML 数据 ***")
print(xml)

将数据用其它几种格式转储,遍历所有节点作为一个大的平坦结构;在 XML 文档中进行搜索。

代码语言:javascript
复制
dom = parseString(xml)
print(dom.toprettyxml("    "))
代码语言:javascript
复制
for elmt in articles.getiterator():
    print(elmt.tag, '-', elmt.text)
代码语言:javascript
复制
for article in articles.findall('.//title'):
    print(article.text)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

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

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

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