使用 ElementTree 生成 XML 文件时遇到问题。由于关于属性中空格的 XML 规则,在解析 XML 文件时,属性中的所有空格字符都将被规范化为空格。但数字实体不会。因此,要在 XML 的内存表示中的属性值中有一个制表符,\x09
或例如\x0d\x0a
,XML 文件必须分别包含	
或
。
但是 ElementTree 只会将\x0a
字符序列化为数字实体,而不会将 eg\x09
和\x0d
-- 它们最终作为 XML 文件中的实际制表符或 cr 字符,并且任何符合标准的 XML 处理器,包括 ElementTree 本身,然后都会读回正常的空格,所以往返是不可能的。
对此有什么可做的吗?除了不使用 ElementTree 来编写文件?