临时加需求做国际化, 安卓的字符都使用xml格式写在文件里, 为了方便准备用Python写个小程序把安卓的xml文件读取出来,并转成oc格式的多语言格式.
安卓的xml文件大概是这样的:
<string name="invite_code">邀请码string>
<string name="qrcode_generate_fail">二维码生成失败string>
<string name="choose_your_share_way">选择你的分享方式string>
<string name="friend_community">朋友圈string>
我使用的是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的键值对格式了