当我通过 jdom 解析 xml 文档时,我发现 Document 对象中丢失了一些 '\r' 字符。
例如: aa\r\nbb
解析后,我发现元素'b'的属性'text'是'aa\nbb'。
有谁知道为什么原来的 '\r' 丢失了。任何建议表示赞赏。
谢谢。
xml 规范要求解析器将行尾规范化为 \n,请参阅行尾部分
正如@superfell 所指出的,XML 规范需要一个 XML 解析器来将行尾规范化为'\n'
字符。
你能为这个做什么?不是很多!
您可以使用其值是或包含回车符的字符实体。我对规范化规则的解读是,这将变成规范化 XML 中的回车符。但是,这意味着您必须更改输入 XML。
您可以更改应用程序以将换行符替换为适当的特定于平台的行尾......在从 DOM 中提取它们之后。
(您甚至可以更改 XML 以以编码形式表示文本;例如十六进制或 base64。但是,这非常难看,并且违背了使用 XML 的目的。)
其中,选项 2 似乎最没有吸引力……