方法1 xml用CData把特殊符号部分包裹起来
方法2 找个escapeHtml或类似的方法做转换   这个在apache commons里面可以找到

解决方案 »

  1.   

    <node>
    <![CDATA[
    a&b
    ]]>
    </node>
      

  2.   

    自己写个通用方法:public static String encode(String text) {
            char c;
            StringBuffer n = new StringBuffer();
            for (int i = 0; i < text.length(); i++) {
                c = text.charAt(i);
                switch (c) {
                    case '&':
                        {
                            n.append("&amp;");
                            break;
                        }
                    case '<':
                        {
                            n.append("&lt;");
                            break;
                        }
                    case '>':
                        {
                            n.append("&gt;");
                            break;
                        }
                    case '"':
                        {
                            n.append("&quot;");
                            break;
                        }
                    case '\'':
                        {
                            n.append("&apos;");
                            break;
                        }
                    default :
                        {
                            n.append(c);
                            break;
                        }
                }
            }
            return new String(n);
        }