java 循环document 通用替换某个字符串或特殊字符

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

转载于:https://www.cnblogs.com/richard-ju/p/L2018008.html

原文地址:https://www.cnblogs.com/twodog/p/12135720.html