Python:Parse-XML将(十六进制)转义处理为文本字符串

2024-10-04 05:22:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含不寻常(但转义)字符的XML:

<key code="51" output="&#x0008;"/> <!-- backspace -->
<key code="53" output="&#x001B;"/> <!-- escape -->

如何解析它,使output属性的值是文字字符串"&#x0008;""&#x001B;"(而不是实际的退格/转义控制字符)?你知道吗

lxml.etree.fromstring这样的Python解析器似乎总是对这些字符进行解码,这对于像"&#x0097;" -> "a"这样的常见字符很好。将etree.XMLParserresolve_entities=False一起使用可以保留&amp;之类的内容,但不能保留我需要的&#x...;。你知道吗


我打算解析一个包含如上图所示行的文件,用python操作树,最后将它保存到另一个类似于第一个的文件中。你知道吗

谢谢你!你知道吗


Tags: 文件key字符串output属性codexml字符