我要用dom4j包生成一个xml文件,这个xml文件的格式有这样的内容:
<![CDATA[showComponent("ohomework")]]>
但是用dom4j包生成的结果是这样的:
<![CDATA[showComponent("ohomework")]]>
结果就解析错误了,这个问题dom4j里应该有解决办法的
大家谁遇到过啊,说说怎么办啊
Attribute.setEscapeText(false);可以实现避免转义
就不会解析你那写特殊字符了
晕,记错了,是XMLWriter.setEscapeText(false);
/**
*
* Description: 格式化xml 转化特殊字符
* @param document 要转换的xml
* @param charset 字符编码 设置成 utf-8
* @param istrans 设置成 false;
* @return
*/
public static String formatXml(Document document, String charset, boolean istrans) {
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding(charset);
StringWriter sw = new StringWriter();
XMLWriter xw = new XMLWriter(sw, format);
xw.setEscapeText(istrans);
try {
xw.write(document);
xw.flush();
xw.close();
} catch (IOException e) {
System.out.println("格式化XML文档发生异常,请检查!");
e.printStackTrace();
}
return sw.toString();
}
之后 返回 String ;
然后再用 Document doc=DocumentHelper.parseText(String name);就可以转成xml了;