使用ElementTree生成XML文件时遇到问题。由于有关属性中空白区域的XML规则,在解析XML文件时,属性中的所有空格字符都将标准化为空格。但数字实体不会。因此,要在XML的内存中表示形式的属性值中包含选项卡\x09
或例如\x0d\x0a
,XML文件必须包含	
或{{1}分别。
但是ElementTree只将
字符序列化为数字实体,但不是\x0a
和\x09
- 它们最终将作为XML文件中的实际制表符或cr字符,并且任何符合标准的XML处理器(包括ElementTree本身)将读回正常空格,因此往返是不可能的
有什么可以做的吗?除了不使用ElementTree写文件?
答案 0 :(得分:0)
XML不支持大多数控制字符,甚至不支持实体。请参阅W3C Recommendation,然后查找Char
制作。
您需要对信息进行编码。 Base64编码是最常见的。