您好,登錄后才能下訂單哦!
dom4j特殊字符處理
問題:
最近在做項目時,遇到了解析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!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。