<CopyrightOwnerCN>&#19978;&#28023;&#22768;&#20687;&#20986;</CopyrightOwnerCN>  这个是我们xml中的一个节点。值是转义过的。 我现在用XStream来获取这个值,如何输出中文?

解决方案 »

  1.   


    String str = "&#19978;&#28023;&#22768;&#20687;&#20986;";
    str = str.replace("&#", ""); for (String s : str.split(";")) {
    System.out.println((char) Integer.parseInt(s));
    }&#19978这个是ASCII码
      

  2.   

    可以试试用xsl定义其输出格式!
      

  3.   

    下载一个commons-lang.jar,它里面有个类StringEscapeUtils就是处理转义和反转义的import org.apache.commons.lang.StringEscapeUtils;
    public class Test { public static void main(String[] args) throws Exception {
    String str = "&#19978;&#28023;&#22768;&#20687;&#20986;";
    String newStr = StringEscapeUtils.unescapeXml(str);
    // 下边这个也行
    // String newStr=StringEscapeUtils.unescapeHtml(str);
                    //转义之后的字符
    System.out.println(newStr); }
    }
    输出结果:
    上海声像出