使用DOM4J生成XML文件,节点内容如何换行,'\n'不行 在输出的节点内容中,有"<" 字符,我希望保留,但是却转换成了转移字符 < ,如何能阻止这种转换?
使用\n是可以换行的,要输出<等字符用addCDATA方法,代码如下
[code="java"]public static void main(String[] args) throws Exception
{
Document doc = DocumentFactory.getInstance().createDocument();
Element root = DocumentFactory.getInstance().createElement("root");
doc.add(root);
Element test = DocumentFactory.getInstance().createElement("test");
test.addCDATA("<>\\%^^&*()asdfasd\nfadf");
root.add(test);
OutputFormat format = new OutputFormat();
format.setEncoding("UTF-8");
format.setNewlines(true);
XMLWriter writer = new XMLWriter(System.out, format);
writer.write(doc);
}[/code]
输入结果如下:
[code="java"]
<![CDATA[<>\%^^&*()asdfasd
fadf]]>
[/code]
首先:
Attribute.setEscapeText(false);可以实现避免转义
就不会解析你那写特殊字符了
其次:
addCDATA("<>\%^^&*()asdfasd\nfadf"); 也是可以的