Я пытаюсь создать файл XML, используя Python с ElementTree, затем красиво печатать его, используя minidom, следуя этому фрагменту . Проблема, с которой я сталкиваюсь, заключается в том, что когда я генерирую SubElement
, если строка содержит кавычки, она экранируется до "
.
Код довольно прост:
from xml.etree import ElementTree as et
from xml.dom import minidom
def prettify(elem):
"""Return a pretty-printed XML string for the Element."""
rough_string = et.tostring(elem, 'utf-8')
reparsed = minidom.parseString(rough_string)
return reparsed.toprettyxml(indent="\t")
top = et.Element("Base")
sub = et.SubElement(top, "Sub")
sub.text = 'Hello this is "a test" with quotes'
print(prettify(top))
И генерируется XML:
<?xml version="1.0" ?>
<Base>
<Sub>Hello this is "a test" with quotes</Sub>
</Base>
Есть ли способ избежать экранирования кавычек?