我从第三方系统获取 utf-8 格式的 xml,我正在尝试正确解析它并将其保存在我的数据库中。例如,下面是我得到的 4 行 xml,当我尝试使用 unescapeXML 时,它适用于除破折号之外的所有内容。
String one = "<Name>test ' test</Name>";
String two = "<Fi>Em – S</Fi>";
String three = "<FirstName>a1 ä</FirstName>";
String four = "crapÉ";
System.out.println(StringEscapeUtils.unescapeXml(one));
System.out.println(StringEscapeUtils.unescapeXml(two));
System.out.println(StringEscapeUtils.unescapeXml(three));
System.out.println(StringEscapeUtils.unescapeXml(four));
输出:
<Name>test ' test</Name>
<Fi>Em S</Fi>
<FirstName>a1 ä</FirstName>
crapÉ
一切看起来都很好,除了字符串“two”,它实际上应该是“Em – S”。
我试图弄清楚我做错了什么以及解码此类 xml 字符串的最佳方法是什么