dom4j特殊字符处理-创新互联

dom4j特殊字符处理

创新互联建站主营南沙网站建设的网络公司,主营网站建设方案,重庆App定制开发,南沙h5成都微信小程序搭建,南沙网站营销推广欢迎南沙等地区企业咨询

问题:

最近在做项目时,遇到了解析xml问题。

使用dom4j解析xml信息时,如果属性值中包含&等特殊字符时,解析会提示如下异常:

java.lang.RuntimeException: 生成Document对象异常

1.dom4j解析xml

经过查询得知dom4j在解析xml信息时,需要对一些特殊字符进行特殊处理:

下面是五个在XML文档中预定义好的实体:

< <  小于号

> >  大于号

& & 和

' ' 单引号

" "  双引号

比如你想输出“&”,那你的xml中要写成“&”,当然你这个值是写在属性里的,是value=""这样的形式。

2.dom4j生成xml:

在使用dom4j生成xml文件时,对于特殊字符“&”,总会自动生成"&",

因此在输入"<"或者">"时,<代表<,结果将&转成"&",就变成了"&lt;",

因此在使用xsl生成html时造成"<"无法正常使用,解决方法是:

在创建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!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:dom4j特殊字符处理-创新互联
本文URL:http://hbruida.cn/article/cohicp.html