[英]Why dom4j document object convert XML EOL \r\n to \n
我正在使用DOM4J jar(我尝试过1.6.1和2.0.2)解析xml字符串,下面是我的示例代码
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>
为什么覆盖从\\ r \\ n到\\ n的XML EOL(行尾)?
如果我想保留与“ \\ r \\ n”相同的EOL,是否有可用的选项?
由规范规定 :
为了简化应用程序的任务,在解析之前,XML处理器必须通过转换两个字符序列#xD #xA和任何#来规范输入时外部解析实体(包括文档实体)中的所有换行符,以使其规范化。 xD,后跟#xA而不是单个#xA字符。
您可以设置在编写XML文档时使用的行分隔符:
OutputFormat#setLineSeparator(String)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.