javaxml特殊字符转义_dom4j特殊字符处理
dom4j特殊字符处理
问题:
最近在做项⽬时,遇到了解析xml问题。
使⽤dom4j解析xml信息时,如果属性值中包含&等特殊字符时,解析会提⽰如下异常:
java.lang.RuntimeException: ⽣成Document对象异常
1.dom4j解析xml:
经过查询得知dom4j在解析xml信息时,需要对⼀些特殊字符进⾏特殊处理:
下⾯是五个在XML⽂档中预定义好的实体:
<< ⼩于号
>> ⼤于号
&& 和
'‘ 单引号
"" 双引号
⽐如你想输出“&”,那你的xml中要写成“&”,当然你这个值是写在属性⾥的,是value=""这样的形式。
2.dom4j⽣成xml:
在使⽤dom4j⽣成xml⽂件时,对于特殊字符“&”,总会⾃动⽣成"&",
因此在输⼊""时,<;代表
因此在使⽤xsl⽣成html时造成"
使用dom4j解析xml文件在创建writer对象时操作如下:
XMLWriter writer = new XMLWriter(fmt); //以输出格式为参数创建xml输出对象
writer.setEscapeText(false);
这样&符号就不会被转义了。
请参阅dom4j⽂档
setEscapeText
public void setEscapeText(boolean escapeText)
Sets whether text output should be escaped or not. This is enabled by default. It could be disabled if the output format is textual, like in XSLT where we can have xml, html or text output.
Parameters:
escapeText - DOCUMENT ME!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论