0

使用 ElementTree 生成 XML 文件时遇到问题。由于关于属性中空格的 XML 规则,在解析 XML 文件时,属性中的所有空格字符都将被规范化为空格。但数字实体不会。因此,要在 XML 的内存表示中的属性值中有一个制表符,\x09或例如\x0d\x0a,XML 文件必须分别包含	


但是 ElementTree 只会将\x0a字符序列化为数字实体,而不会将 eg\x09\x0d-- 它们最终作为 XML 文件中的实际制表符或 cr 字符,并且任何符合标准的 XML 处理器,包括 ElementTree 本身,然后都会读回正常的空格,所以往返是不可能的。

对此有什么可做的吗?除了不使用 ElementTree 来编写文件?

4

1 回答 1

0

XML 不支持大多数控制字符,甚至不支持实体。请参阅W3C 推荐,并寻找Char产品。

您需要对信息进行编码。Base64 编码是最常用的。

于 2013-08-20T13:25:00.653 回答