Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个使用 SAX 解析器从 XML 文件中提取数据的 Android 应用程序。某些数据位于某些 CDATA 标记中,有时包含换行符。这些换行符在解析过程中被删除。我该如何保存它们?
顺便说一句,我以为我在这里找到了答案,但是放置了“ ” 在 CDATA 标记内只会得到一个“ ” 当我解析它时。
有没有人有什么建议?
谢谢你。
解析器不会删除换行符,无论它们是作为常规字符还是在 CDATA 部分中。但在这两种情况下,各种换行符(Unix、Windows、Mac)都被规范化为单字符规范(“unix”、\n)换行符。没有办法阻止这种规范化的发生,除非使用建议的字符实体;这不能在 CDATA 部分完成,因为实体处理在那里被禁用。
但是,您究竟为什么要阻止这种规范化呢?如果你想要这个显示,你可以用你想要的任何本地换行符替换 \n (\r 用于 mac,或 \r\n 序列用于 Windows)。