【问题标题】:Why dom4j document object convert XML EOL \r\n to \n为什么 dom4j 文档对象将 XML EOL \r\n 转换为 \n
【发布时间】:2017-11-30 04:33:10
【问题描述】:

我正在使用 DOM4J jar 解析 xml 字符串(我尝试过 1.6.1 和 2.0.2)下面是我的示例代码

SAXReader reader = new SAXReader();
InputSource inputSource = new InputSource(new StringReader("<root xml:space='preserve'>\r\n<emp>\r\n<name>raj</name>\r\n</emp>\r\n</root>"));
Document document = null;

try {
    document = reader.read(inputSource);
} catch (DocumentException e1) {
    e1.printStackTrace();
}       
String st = document.asXML(); //When I debug I can see below value in this st variable
//<root xml:space='preserve'>\n<emp>\n<name>raj</name>\n</emp>\n</root>

为什么将 XML EOL(行尾)从 \r\n 转换为 \n ?

如果我想保留与 "\r\n" 相同的 EOL,有没有可用的选项?

【问题讨论】:

    标签: java xml xml-parsing dom4j


    【解决方案1】:

    specification授权:

    为了简化应用程序的任务,XML 处理器必须运行 好像它标准化了外部解析实体中的所有换行符 (包括文档实体)在输入时,在解析之前,通过 翻译两个字符序列#xD #xA 和任何#xD 后面不跟#xA 到单个#xA 字符。

    您可以设置编写XML文档时使用的行分隔符:

    OutputFormat#setLineSeparator(String)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 2016-03-20
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      • 1970-01-01
      相关资源
      最近更新 更多