NSXMLParser将CRLF转换为LF

时间:2015-01-08 23:32:32

标签: macos unicode nsxmlparser line-endings

我正在使用NSXMLParser来解析Mac应用中的XML。它解析的文件的行结尾设置为CRLF(carriage return后跟line feed)。我可以使用Hex Fiend清楚地看到文本文件的十六进制中的0D0A。但是当文本通过解析器传递给委托时(通过parser:foundCharacters:),该换行符在调试器中显示为“\ n”。当我通过调用dataUsingEncoding获取该字符串的二进制内容时,我发现它只是换行符。

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

1 个答案:

答案 0 :(得分:1)

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

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