1

您好,感谢您阅读我的帖子。

Apache Commons StringEscapeUtils.escapeHtml3() 和 StringEscapeUtils.escapeHtml4() 函数特别允许将字符串中带有尖音符(如 é、à...)的字符转换为具有 &name; 格式的字符实体引用。其中 name 是区分大小写的字母数字字符串。

如何使用数字字符引用获取给定字符串的转义字符串(&#nnnn; 或 &#xhhhh; 其中 nnnn 是十进制形式的代码点,hhhh 是十六进制形式的代码点)?

我实际上需要为一个不知道 & eacute; 和 & agrave; 等实体的 XML 文档转义字符串。等等

此致。

4

2 回答 2

2

创建你的CharacterTranslator

CharacterTranslator XML_ESCAPE = StringEscapeUtils.ESCAPE_XML11.with(
    NumericEntityEscaper.between(0x7f, Integer.MAX_VALUE) );

并使用它:

XML_ESCAPE.translate(…)
于 2014-10-23T21:07:49.487 回答
2

为了解决这个问题,我写了一个方法,它接受一个字符串作为参数,并在这个字符串é中用它们对应的数字字符引用(é在这种情况下)替换字符实体引用(如)。

我使用了这个 W3C 参考列表:http: //www.sagehill.net/livedtd/xhtml1-transitional/xhtml-lat1.ent.html

注意:如果能够将另一个参数传递给该StringEscapeUtils.escapeHtml4()方法来告诉它我们是否希望输出字符串中的字符实体引用或数字字符引用,那就太好了......

于 2014-10-21T10:23:42.333 回答