美文网首页
xml中特殊字符转义

xml中特殊字符转义

作者: 带着猪散步 | 来源:发表于2019-03-19 11:15 被阅读0次

    一般,我们要求上游传xml格式字符串时直接给转义好,或者允许含特殊字符的节点增加CDATA包围,但是总有那么一些管杀不管埋的伙伴,你能不能解析是你的事。
    所以,这里我们将xml串中指定skuName节点里面排除一下,其实我是解析不了的时候才调这个重新转义一遍的,一般不走这里,链路不要长。

        public static String replaceTag(String xml,String tagName){
            String tagF = "<"+tagName+">";
            String tagB = "</"+tagName+">";
            String[] a = xml.split(tagF);
    
            int indx = 0;
            StringBuilder builder = new StringBuilder();
            for (int i=0;i<a.length;i++){
                indx = a[i].indexOf(tagB);
                if(a[i].indexOf(tagB)>-1){
                    builder.append(a[i].substring(0,indx).replaceAll("&","&amp;").replaceAll("<","&lt;")).append(a[i].substring(indx));//大于号是没事的
                }else {
                    builder.append(a[i]);
                }
                if(i<a.length-1){
                    builder.append(tagF);
                }
            }
            return builder.toString();
    

    相关文章

      网友评论

          本文标题:xml中特殊字符转义

          本文链接:https://www.haomeiwen.com/subject/wlqgmqtx.html