NSXMLParser 将 CRLF 转换为 LF

NSXMLParser converting CRLF to LF

我正在使用 NSXMLParser 在 Mac 应用程序中解析 XML。它正在解析的文件的行尾设置为 CRLF(carriage return followed by line feed). I can clearly see the 0D0A in the hex of the text file using Hex Fiend。但是当文本通过解析器到达委托时(通过 parser:foundCharacters:),该换行符在调试器中显示为“\n” . 当我通过调用 dataUsingEncoding 获取该字符串的二进制内容时,我看到它只是换行符。

有没有办法让 NSXMLParser 保留源文件中的行结尾?

不,XML 规范 requires 所有解析器都规范化换行符;表示换行符的原始字节不是文档信息集的一部分。

(您需要关心的是什么情况?)