dom4j写xml时&会被转义成&的解决方法?

我通过dom4j生产xml文档时,如果我的文档里面有&、<等特殊字符的话,则会对其进行转义,有什么方法可以避免吗?

原来的:
<?xml version="1.0" encoding="ISO8859_1"?>






width="0"/>



field="hs_created_time" func="4" argument="false"
not="false" op="8" value="=T_LAST_W(1)"/>
func="0" argument="false" not="false" op="0"
value="tom,neil,jerry"/>
func="0" argument="false" not="false" op="0"
value="ted,jerry"/>
func="0" argument="false" not="false" op="6"
value="[color=red]china 中国[/color]"/>







新生成的,需要通过dom4j写入到数据库的:
<?xml version="1.0" encoding="ISO8859_1"?>
































这是个问题,还在Attribute里的。你还之用setValue()。那这样可不可以,把你修改好的,新生成的xml转化成xml文本,然后替换里面的&为&就好了!

把你的特殊字符替换了。下面是常用的五种
下面是五个在XML文档中预定义好的实体:

<< 小于号

>> 大于号

&& 和

'' 单引号

"" 双引号

比如你想输出&,那你的xml中要写成“&”

当然你这个值是写在属性里的,是value=""这样的形式,如果是一个区域断的话可以用XML CDATA,如<![CDATA[china 中国]]>就ok了

dom4j在输出或保存xml时的XMLWriter类,可以通过setEscapeText方法设置是否转义

需要设置:
xw.setEscapeText(false); // 是否转义

更详细的信息

[url]http://lavasoft.blog.51cto.com/62575/347348[/url]

参考下! 人家写的很不错的!

那你可以我说的第一种方式,替换法。把你的值china 中国替换成
china &#20013;&#22269;这个值set进去就没有问题了吧