为什么xml.etree.ElementTree模块中的findtext()方法会将\r\n转换为\n?

3

我有一个用于测试的XML文件,我会将原始字符串与原始字符串进行测试。我的测试文件包含以下数据:

<output>
  first line\r\n
  second line\r\n
</output>

我的待测试函数返回:

first line\r\n
second line\r\n

然而,当我使用xml.etree.ElementTree方法的findtext('output')(应该返回<output></output>标签内的文本)时,返回的文本已经替换了行分隔符:

first line\n
second line\n

我必须将它们替换回去,这很烦人。这种行为是意外的。有人遇到过这个问题吗?如何处理?


3
所有符合XML标准的解析器都必须将CRLF行尾转换为LF(参见https://dev59.com/kXE95IYBdhLWcg3wi-ee#2266166)。因此,您不需要编写“\r\n”。 - undefined
请将此作为答案添加。 - undefined
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接