我试图用Java解析XML文件,有些行包含HTML符号& #153;不过,当我做的时候
((String) myXPath.evaluate(node, STRING));
我得到方形符号而不是™。我的机器是Linux,XML编码是UTF-8。我无法理解如何正确编码这个确切的符号。 &安培; #8482;编码完美......
我以下列方式创建一个Document实例:
File xmlFile = new File(path);
FileInputStream fileIS = new FileInputStream(xmlFile);
xmlDocument = builder.parse(fileIS);
答案 0 :(得分:1)
HTML实体& #153表示具有Unicode代码点153的字符,这是一些不可打印的控制字符。它不是商标符号。 153可能是某些Microsoft Windows字符集中的商标符号,但这在网络上无关紧要。您需要使用Unicode代码点8482 - https://en.wikipedia.org/wiki/Trademark_symbol
请注意,HTML实体引用中使用的数字与文件编码无关。事实上,这就是使用它们的全部意义 - 它们在编码的变化中存活下来。