private boolean isCDATA(org.dom4j.Node node) {    
     if(!node.hasContent()) return false;
    Iterator iterator = ((Branch)node).content().iterator();
     while(iterator.hasNext()) {    
        org.dom4j.Node n = (org.dom4j.Node)iterator.next();
             if (org.w3c.dom.Node.CDATA_SECTION_NODE == n.getNodeType()) {    
                 return true;    
            }    
        }    
         return false;    
    }
使用上面的代码可以识别一个指定节点的元素是否包含CDATA。
但是,需要注意的是,CDATA_SECTION_NODE隶属于TEXT.NODE类型,因此须有
……
if(stringElem.isTextOnly()){
           if(isCDATA(stringElem)){
            stringElem.clearContent();
            stringElem.addCDATA(replacement);
          }
           else stringElem.setText(replacement);
        }
         else{
          stringElem.clearContent();
          stringElem.setText(replacement);
            
        }
……