有許多可以轉義HTML/XML格式值的utils。我使用的是StringEscapeUtils.escapeXml
,但它也轉換Unicode字符(äöü)
- >(äöü)
。如何轉義XML標籤?
我需要的僅僅是轉義一些XML特定的標籤,如<,>。 (我手動創建XML,而不是使用JAXB,請不要問爲什麼)。
有許多可以轉義HTML/XML格式值的utils。我使用的是StringEscapeUtils.escapeXml
,但它也轉換Unicode字符(äöü)
- >(äöü)
。如何轉義XML標籤?
我需要的僅僅是轉義一些XML特定的標籤,如<,>。 (我手動創建XML,而不是使用JAXB,請不要問爲什麼)。
您可以編寫方法來逃避專門某些XML字符是這樣的:
public String escapeXml(String s) {
return s.replaceAll("&", "&").replaceAll(">", ">").replaceAll("<", "<").replaceAll("\"", """).replaceAll("'", "'");
}
禮貌 - StringEscapeUtils.escapeXml is converting utf8 characters which it should not
你是什麼StringEscapeUtil版本? 由於文檔是:
請注意,大於0x7f的Unicode字符爲3.0,不再轉義。
所以你就可能需要更新到最新版本(目前爲3.6)
你可以使用這個太: https://commons.apache.org/proper/commons-text/apidocs/org/apache/commons/text/StringEscapeUtils.html#ESCAPE_XML10 從apache.commons.text
而不是apache.commons.lang3