我有一些python代码可以处理输入文件并将输入中的某些字段转储到XML文件中。此代码在从输入传递空字符时中断--引发无效的令牌错误:
def pretty_print_xml(elem):
rough_string = ET.tostring(elem, 'utf-8')
reparsed = minidom.parseString(rough_string)
return reparsed.toprettyxml(indent=' ')
这让我很惊讶,我想知道它为什么会坏掉,还有什么需要从输入中清除掉。我以为只有XML元字符才能抛出这个错误,而minidom已经在处理这些错误。在
XML中不允许使用NUL文本。见the XML standard, version 1.1:
请注意,},但是不是
Char
被定义为允许(在其他范围中)\x01
到{\x00
。在顺便说一句,如果你的目标是很好的打印,我建议使用} argument 不能开箱即用,请参见the relevant FAQ entry。在
lxml.etree
。如果序列化调用上的the ^{相关问题 更多 >
编程相关推荐