【发布时间】:2016-07-18 15:22:54
【问题描述】:
我有一个 resx 文件,它使用 XML 和一堆看起来像这样的数据:
<data name="key_first" xml:space="preserve">
<value>Text 1</value>
</data>
<data name="key_second" xml:space="preserve">
<value>Text 2</value>
</data>
<data name="key_third" xml:space="preserve">
<value>Text 3</value>
</data>
名称值都共享一个单词(例如:“key”)。我想在 Python 中做的是获取这个“数据”名称值(“键+后面的任何内容”)并将其添加到“值”文本中,然后保存新文件,但我对 XML/非常陌生Python世界,我有点迷路了。我希望它看起来像这样:
<data name="key_first" xml:space="preserve">
<value>[key_first] Text 1</value>
</data>
<data name="key_second" xml:space="preserve">
<value>[key_second] Text 2</value>
</data>
<data name="key_third" xml:space="preserve">
<value>[key_third] Text 3</value>
</data>
我该怎么做?我应该使用 minidom 还是 Element Tree?
【问题讨论】:
-
从技术上讲,任何 xml 解析器都可以完成这项工作 - 您可以使用 sax 解析器 FWIW - 但没有人因为选择 ElementTree 而被解雇。
-
就我个人而言,我会将 lxml 与 XSLT 一起使用,并在需要时添加自定义回调函数。
标签: python xml database loops resx