diff --git a/hutool-core/src/main/java/cn/hutool/core/text/escape/XmlEscape.java b/hutool-core/src/main/java/cn/hutool/core/text/escape/XmlEscape.java index 8aba9e2a7..461b1c90a 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/escape/XmlEscape.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/escape/XmlEscape.java @@ -22,7 +22,7 @@ public class XmlEscape extends ReplacerChain { private static final long serialVersionUID = 1L; protected static final String[][] BASIC_ESCAPE = { // -// {"'", "'"}, // " - single-quote + {"'", "'"}, // " - single-quote {"\"", """}, // " - double-quote {"&", "&"}, // & - ampersand {"<", "<"}, // < - less-than diff --git a/hutool-core/src/main/java/cn/hutool/core/text/escape/XmlUnescape.java b/hutool-core/src/main/java/cn/hutool/core/text/escape/XmlUnescape.java index 80073a9c1..dee798851 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/escape/XmlUnescape.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/escape/XmlUnescape.java @@ -13,8 +13,6 @@ public class XmlUnescape extends ReplacerChain { private static final long serialVersionUID = 1L; protected static final String[][] BASIC_UNESCAPE = InternalEscapeUtil.invert(XmlEscape.BASIC_ESCAPE); - // issue#1118 - protected static final String[][] OTHER_UNESCAPE = new String[][]{new String[]{"'", "'"}}; /** * 构造 @@ -22,6 +20,5 @@ public class XmlUnescape extends ReplacerChain { public XmlUnescape() { addChain(new LookupReplacer(BASIC_UNESCAPE)); addChain(new NumericEntityUnescaper()); - addChain(new LookupReplacer(OTHER_UNESCAPE)); } } diff --git a/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java index 1b42ff9a3..1d77b0012 100755 --- a/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java @@ -956,6 +956,7 @@ public class XmlUtil { * < (小于) 替换为 &lt; * > (大于) 替换为 &gt; * " (双引号) 替换为 &quot; + * ' (单引号) 替换为 &apos; * * * @param string 被替换的字符串 @@ -963,7 +964,7 @@ public class XmlUtil { * @since 4.0.8 */ public static String escape(String string) { - return EscapeUtil.escapeHtml4(string); + return EscapeUtil.escapeXml(string); } /** @@ -975,7 +976,7 @@ public class XmlUtil { * @since 5.0.6 */ public static String unescape(String string) { - return EscapeUtil.unescapeHtml4(string); + return EscapeUtil.unescapeXml(string); } /** diff --git a/hutool-core/src/test/java/cn/hutool/core/util/XmlUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/XmlUtilTest.java index 6f0932082..cb7a2d9f5 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/XmlUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/XmlUtilTest.java @@ -320,6 +320,7 @@ public class XmlUtilTest { final String a = "<>"; final String escape = XmlUtil.escape(a); Console.log(escape); + Console.log(XmlUtil.escape("中文“双引号”")); } @Test