我想知道为什么撇号不会像其他角色一样自动转义?
例如,在创建xml
文件的时刻:
<
转换为<
,>
转换为>
,但'
未转换为'
。有特殊原因吗?
此刻我的解决方案是使用tostring()
保存文件,然后应用替换,但是,我认为这是一个糟糕而肮脏的解决方案,因为我需要添加XML的标题{{1}用硬编码。我有下一个代码:
<?xml version='1.0' encoding='UTF-8'?>
修改
我在element = Element('Root')
element.set('Version', '1.0')
element.set('test0', a['zero']) # the content is '<'
element.set('test1', a['one']) # the content is '>'
element.set('test2', a['two']) # the content is '&'
element.set('test3', a['three']) # the content is '"'
# the content is O'Reilly, here is my problem
element.set('test4', a['four'])
tree = ElementTree(element)
xmlfile = open('xmlfile.xml', 'wb+')
tree.write(xmlfile, xml_declaration=True, encoding='UTF-8')
xmlfile.close()
邮件列表中收到了这个答案:
因为不需要它? 有关类似的讨论,请参阅https://wiki.python.org/moin/EscapingXml。
然而,我对此答案并不十分确信。