【问题标题】:Unable to parse trademark symbol in XML using XPath无法使用 XPath 解析 XML 中的商标符号
【发布时间】:2017-11-30 12:06:26
【问题描述】:

我试图在 Java 中解析一个 XML 文件,并且某些行包含一个 HTML 符号 & #153;不过,当我这样做时

((String) myXPath.evaluate(node, STRING));

我得到方形符号而不是 ™。我的机器是 Linux,XML 编码是 UTF-8。我不明白如何正确编码这个确切的符号。 ™编码得很好……

我通过以下方式创建一个 Document 实例:

File xmlFile = new File(path);
FileInputStream fileIS = new FileInputStream(xmlFile);
xmlDocument = builder.parse(fileIS);

【问题讨论】:

    标签: java xpath special-characters


    【解决方案1】:

    HTML 实体 153 表示 Unicode 代码点 153 的字符,它是一些不可打印的控制字符。它不是商标符号。 153 可能是某些 Microsoft Windows 字符集中的商标符号,但这与 Web 无关。您需要使用 Unicode 代码点,即 8482 - https://en.wikipedia.org/wiki/Trademark_symbol

    请注意,HTML 实体引用中使用的数字与文件编码无关。事实上,这就是使用它们的全部意义所在——它们在编码变化后仍然存在。

    【讨论】:

    • 感谢您的回答!我也想通了,只是用 8482 替换了所有 153。出于某种原因,XML 是用 153 创建的,这是正确解析它的唯一选择。
    猜你喜欢
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 2015-03-03
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    相关资源
    最近更新 更多