【发布时间】:2018-07-05 08:36:07
【问题描述】:
由于我的英语不够好,这个问题有点难以表达,但我会尽力而为。
我有一个xml文件的目录,每个文件都包含xml如:
<root>
<fields>
<field>
<description/>
<region id="Number.T2S366_R_487" page="1"/>
</field>
<field>
<description/>
<region id="Number.T2S366_R_488.`0" page="1"/>
<region id="String.T2S366_R_488.`1" page="1"/>
</field>
</fields>
</root>
我想在包含 dot, tick, number 表示法的行上进行字符串替换,例如 .`0 和 [0]、[1]、[2]、... 等索引表示法.
所以转换后的 xml 有效负载应该如下所示:
<root>
<fields>
<field>
<description/>
<region id="Number.T2S366_R_487" page="1"/>
</field>
<field>
<description/>
<region id="Number.T2S366_R_488[0]" page="1"/>
<region id="String.T2S366_R_488[1]" page="1"/>
</field>
</fields>
</root>
如何使用 python 完成此操作?使用正则表达式这似乎相当简单,但对于包含多个文件的文件目录来说,这将是困难的。我想看到一个使用 python 3.x 的实现,因为我正在学习它。
【问题讨论】:
-
建议查看 Python3 的
lxml库:lxml.de/installation.html