Python 使用xmltodict读取xml

python 专栏收录该内容
4 篇文章 0 订阅

临时加需求做国际化, 安卓的字符都使用xml格式写在文件里, 为了方便准备用Python写个小程序把安卓的xml文件读取出来,并转成oc格式的多语言格式.

安卓的xml文件大概是这样的:

<resources>
    <string name="invite_code">邀请码</string>
    <string name="qrcode_generate_fail">二维码生成失败</string>
    <string name="choose_your_share_way">选择你的分享方式</string>
    <string name="friend_community">朋友圈</string>
</resources>

我使用的是Python3, xmltodict 框将xml转成字典格式.
https://github.com/martinblech/xmltodict.git

安装 xmltodict 在命令行输入

$ pip install xmltodict

但是会提示错误

这里写图片描述

原因是mac电脑默认装的是Python2.7版本
在网上查找了一下资料, 知乎上有人给提示

没必要改来改去, 还是直接加版本号比较好, python就是2的版本,python3就是3的版本. pip是2的版本, pip3是3的版本.
https://www.zhihu.com/question/30941329

于是尝试了一些使用

$ pip3 install xmltodict

果然安装成功.

后面就可以使用了. 代码

import xmltodict

path = "/Users/aaa/Desktop/strings.xml"
with open(path) as fd:
    obj = xmltodict.parse(fd.read())
    resources =  obj["resources"]
    strings = resources["string"]
    for item in strings:
        print("-------------------")
        for k, v in item.items():
            print("\n" + "value  " + v + "key  " + k)

打印结果

-------------------
value  invite_codekey  @name
value  邀请码key  #text
-------------------
value  qrcode_generate_failkey  @name
value  二维码生成失败key  #text
-------------------
value  choose_your_share_waykey  @name
value  选择你的分享方式key  #text
-------------------
value  friend_communitykey  @name
value  朋友圈key  #text

已经把单行数据都读取出来了, 剩下的就是转出成OC的键值对格式了

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

&lt;p> &lt;span style="font-size:12pt;">&lt;span>帮助学员快速掌握微信支付开发&lt;/span>, &lt;span>并提供相关工具及封装类使得学员开发周期从&lt;/span>&lt;span>2-4&lt;/span>&lt;span>周的时间缩短至&lt;/span>&lt;span>2-4&lt;/span>&lt;span>天&lt;/span>&lt;span>.&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;/span> &lt;/p> &lt;p> &lt;span style="font-size:12pt;">&lt;span>培训目标&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;/span> &lt;/p> &lt;p> &lt;span style="font-size:12pt;">1.&lt;span>掌握微信支付相关账号开通&lt;/span>&lt;span>,&lt;/span>&lt;span>应用场景及流程&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;/span> &lt;/p> &lt;p> &lt;span style="font-size:12pt;">2.&lt;span>掌握微信支付开发环境的搭建及&lt;/span>&lt;span>web2py&lt;/span>&lt;span>使用&lt;/span>&lt;span>.&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;/span> &lt;/p> &lt;p> &lt;span style="font-size:12pt;">3.&lt;span>学会相关&lt;/span>&lt;span>api&lt;/span>&lt;span>的使用&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;/span> &lt;/p> &lt;p> &lt;span style="font-size:12pt;">4.&lt;/span>&lt;span style="font-size:12pt;">&lt;span>跟老师一起&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;span>进行需求分析&lt;/span>,接口&lt;/span>&lt;span style="font-size:12pt;">&lt;span>设计&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;span>完成&lt;/span>api&lt;/span>&lt;span style="font-size:12pt;">&lt;span>封装类&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;span>的开发&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">,进一步简化微信支付开发&lt;/span>&lt;span style="font-size:12pt;">&lt;/span> &lt;/p> &lt;p> &lt;span style="font-size:12pt;">5.&lt;span>使用课程提供的工具及新设计的&lt;/span>&lt;span>python&lt;/span>&lt;span>类&lt;/span>&lt;span>,&lt;/span>&lt;span>将开发周期从&lt;/span>&lt;span>2-4&lt;/span>&lt;span>周缩短至&lt;/span>&lt;span>2-4&lt;/span>&lt;span>天&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;/span> &lt;/p> &lt;p style="text-align:left;"> &lt;span style="font-size:10.5pt;"> &lt;/span> &lt;/p> &lt;p> &lt;span style="font-size:12pt;">&lt;span>培训内容主要分为&lt;/span>5&lt;span>大部分&lt;/span>&lt;span>: &lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;br /> &lt;/span>&lt;span style="font-size:12pt;">1.&lt;span>微信支付相关账号开通&lt;/span>&lt;span>,&lt;/span>&lt;span>应用场景及支付流程&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;br /> &lt;/span>&lt;span style="font-size:12pt;">2.&lt;span>开发环境搭建及相关工具介绍&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;br /> &lt;/span>&lt;span style="font-size:12pt;">3.web&lt;span>框架&lt;/span>&lt;span>web2py&lt;/span>&lt;span>的使用&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;br /> &lt;/span>&lt;span style="font-size:12pt;">4.&lt;span>设计&lt;/span>&lt;span>WxPay&lt;/span>&lt;span>类&lt;/span>&lt;span>, &lt;/span>&lt;span>封装&lt;/span>&lt;span>api&lt;/span>&lt;span>调用&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;br /> &lt;/span>&lt;span style="font-size:12pt;">5.&lt;span>使用封装类进行微信支付开发&lt;/span>&lt;/span>&lt;span style="font-size:12pt;">&lt;/span> &lt;/p> &lt;br />
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值