У меня есть XML, который содержит необычные (но экранированные) символы:
<key code="51" output=""/> <!-- backspace -->
<key code="53" output=""/> <!-- escape -->
Как я могу разобрать это так, чтобы значения атрибутов output
были буквальными строками ""
и ""
(а не действительными управляющими символами возврата / возврата)?
Парсеры Python, такие как lxml.etree.fromstring
, похоже, всегда их декодируют, что хорошо для обычных символов, таких как "—" -> "a"
. Использование etree.XMLParser
с resolve_entities=False
сохраняет такие вещи, как &
, но не &#x...;
, что мне требуется.
Я намерен проанализировать файл, содержащий строки, подобные показанным выше, манипулировать деревом с помощью python и, наконец, сохранить его в другом файле, который выглядит как первый.
Спасибо!