Python xml:以十六进制形式编码数字字符引用

时间:2018-07-22 06:19:19

标签: python xml lxml character-reference

我有许多脚本可以获取外部数据并更新xml文件的一部分。

我在python脚本中使用了lxml,它以十进制表示法保存了字符引用,例如:

$ cat input.xml
<data>
  <record text="&#x41f;&#x440;&#x438;&#x432;&#x435;&#x442;">
  </record>
</data> 

$ python
>>> from lxml import etree
>>> tree = etree.parse("input.xml")
>>> tree.write("out.xml")

$ cat out.xml
<data>
  <record text="&#1055;&#1088;&#1080;&#1074;&#1077;&#1090;">
  </record>
</data>

虽然其他脚本使用十六进制形式:<record text="&#x41f;&#x440;&#x438;&#x432;&#x435;&#x442;">,所以即使没有实际更改,这些文件的git也无休止地发生一系列变化。

如何告诉lxml在python脚本中以十六进制形式(&#x41f;)保存字符引用?

0 个答案:

没有答案