dom4j特殊字符處理

問題:
最近在做項(xiàng)目時(shí),遇到了解析xml問題。
使用dom4j解析xml信息時(shí),如果屬性值中包含&等特殊字符時(shí),解析會(huì)提示如下異常:
java.lang.RuntimeException: 生成Document對(duì)象異常
1.dom4j解析xml:
經(jīng)過查詢得知dom4j在解析xml信息時(shí),需要對(duì)一些特殊字符進(jìn)行特殊處理:
下面是五個(gè)在XML文檔中預(yù)定義好的實(shí)體:
< < 小于號(hào)
> > 大于號(hào)
& & 和
' ' 單引號(hào)
" " 雙引號(hào)
比如你想輸出“&”,那你的xml中要寫成“&”,當(dāng)然你這個(gè)值是寫在屬性里的,是value=""這樣的形式。
2.dom4j生成xml:
在使用dom4j生成xml文件時(shí),對(duì)于特殊字符“&”,總會(huì)自動(dòng)生成"&",
因此在輸入"<"或者">"時(shí),<代表<,結(jié)果將&轉(zhuǎn)成"&",就變成了"&lt;",
因此在使用xsl生成html時(shí)造成"<"無法正常使用,解決方法是:
在創(chuàng)建writer對(duì)象時(shí)操作如下:
XMLWriter writer = new XMLWriter(fmt); //以輸出格式為參數(shù)創(chuàng)建xml輸出對(duì)象
writer.setEscapeText(false);
這樣&符號(hào)就不會(huì)被轉(zhuǎn)義了。
請(qǐng)參閱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!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
名稱欄目:dom4j特殊字符處理-創(chuàng)新互聯(lián)
文章分享:http://chinadenli.net/article28/cohicp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、定制網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站排名、企業(yè)網(wǎng)站制作、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容