0

您好,感謝您閱讀我的文章。如何在Java中使用數字字符引用轉義字符串

阿帕奇共享StringEscapeUtils.escapeHtml3()和StringEscapeUtils.escapeHtml4()函數允許,特別是字符轉換爲急性(如E,A ...)在一個串入其中有 字符實體引用格式&name;其中name是區分大小寫的字母數字字符串。

我怎樣才能得到一個給定的字符串,數字字符引用,而不是轉義字符串(&爲#nnnn;或& #xhhhh;其中NNNN是十進制形式的代碼點,HHHH是十六進制形式的代碼點) ?

我實際上需要爲XML文檔轉義字符串,它不知道這樣的實體,例如& eacute; & agrave;等等。

此致敬意。

回答

0

爲了解決這個問題,我寫這需要一個字符串作爲參數,並替換,在該串的方法,字符實體引用(如é)與其對應的數字字符引用(é在這種情況下)。

我用引用這個W3C名單:http://www.sagehill.net/livedtd/xhtml1-transitional/xhtml-lat1.ent.html

諾塔:這將是巨大的,可以到另一個參數傳遞給StringEscapeUtils.escapeHtml4()方法來判斷是否我們想在字符實體引用或數字字符引用輸出字符串...

0

創建CharacterTranslator

CharacterTranslator XML_ESCAPE = StringEscapeUtils.ESCAPE_XML11.with(
    NumericEntityEscaper.between(0x7f, Integer.MAX_VALUE)); 

,並使用它:

XML_ESCAPE.translate(…) 
相關問題