document 生成xml时 报错 XML-20100: (Fatal Error) Expected ';'. 查了半天发现是 特殊字符 & 不能直接转出,需要进行转换,
因为是通用方法很多地方使用了生成方法,在赋值的时候修改太麻烦,只好想办法修改公用方法。循环document下的所有节点进行替换操作
代码如下:
Element root = document.getRootElement();// 获取根节点 editNodes(root);//替换特殊字符& /** * 替换特殊字符& * @param node */ public void editNodes(Element node) { // 当前节点的名称、文本内容和属性 // System.out.println("-------开始新节点-------------"); // System.out.println("当前节点名称:" + node.getName());// 当前节点名称 // System.out.println("当前节点的内容:" + node.getTextTrim());// 当前节点内容 if(null!=node.getTextTrim() && !node.getTextTrim().equals("") && null!=node.getName() && !node.getName().equals("") ) { node.setText(node.getTextTrim().replaceAll("&", "&"));//替换特殊字符 }// 递归遍历当前节点所有的子节点 List<Element> listElement = node.elements();// 所有一级子节点的list for ( Element e : listElement) {// 遍历所有一级子节点 editNodes(e);// 递归 } }
本博客是本人原创 未经允许不得转载 谢谢。
链接地址:http://www.cnblogs.com/richard-ju/p/L2018008.html