iteye_13835
2010-08-13 18:00
浏览 654
已采纳

用dom4j生成xml文件,解析特殊字符的时候出错了,咋办 啊

我要用dom4j包生成一个xml文件,这个xml文件的格式有这样的内容:
<![CDATA[showComponent("ohomework")]]>
但是用dom4j包生成的结果是这样的:
<![CDATA[showComponent("ohomework")]]>

结果就解析错误了,这个问题dom4j里应该有解决办法的

大家谁遇到过啊,说说怎么办啊

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 「已注销」 2010-08-13 18:04
    已采纳

    Attribute.setEscapeText(false);可以实现避免转义
    就不会解析你那写特殊字符了

    打赏 评论
  • 「已注销」 2010-08-13 18:06

    晕,记错了,是XMLWriter.setEscapeText(false);

    打赏 评论
  • LvQing825 2010-08-13 18:26

    /**
    *
    * Description: 格式化xml 转化特殊字符

     * @param document 要转换的xml
     * @param charset 字符编码 设置成 utf-8
     * @param istrans 设置成 false;
     * @return
     */
    public static String formatXml(Document document, String charset, boolean istrans) { 
         OutputFormat format = OutputFormat.createPrettyPrint(); 
         format.setEncoding(charset); 
         StringWriter sw = new StringWriter(); 
         XMLWriter xw = new XMLWriter(sw, format); 
         xw.setEscapeText(istrans); 
         try { 
                 xw.write(document); 
                 xw.flush(); 
                 xw.close(); 
         } catch (IOException e) { 
                 System.out.println("格式化XML文档发生异常,请检查!"); 
                 e.printStackTrace(); 
         } 
         return sw.toString(); 
    }
    

    之后 返回 String ;
    然后再用 Document doc=DocumentHelper.parseText(String name);就可以转成xml了;

    打赏 评论

相关推荐 更多相似问题