java - 为什么 Apache Commons StringEscapeUtils escapeXML10 不能在 groovy 中工作?

标签 java groovy apache-commons stringescapeutils

我有一个简单的常规脚本,我想在其中转义 XML 的字符串...

 @Grapes(@Grab(group='org.apache.commons', module='commons-lang3',version='3.9'))
import org.apache.commons.lang3.StringEscapeUtils

 def value = "[Apple MacBook Pro with Touch Bar - 15.4 & Core i7 - 16 GB RAM - 512 GB SSD]"
 StringEscapeUtils.escapeXml11​(value.toString())

根据 docs ,看起来这个方法只需要一个字符串,那么为什么它会给出这个异常...

 No signature of method: static org.apache.commons.lang3.StringEscapeUtils.escapeXml11​() is applicable for argument types: (String) values: [[Apple MacBook Pro with Touch Bar - 15.4 & Core i7 - 16 GB RAM - 512 GB SSD]]

最佳答案

您的代码中有不可打印的字符:

  Offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F   
00000000: 53 74 72 69 6E 67 45 73 63 61 70 65 55 74 69 6C    StringEscapeUtil
00000010: 73 2E 65 73 63 61 70 65 58 6D 6C 31 31 E2 80 8B    s.escapeXml11b..
00000020: 28 76 61 6C 75 65 2E 74 6F 53 74 72 69 6E 67 28    (value.toString(
00000030: 29 29 0A                                           )).

看到Xml11之后了吗?

它适用于普通字符。

关于java - 为什么 Apache Commons StringEscapeUtils escapeXML10 不能在 groovy 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56793613/

相关文章:

java - 找不到uninstall.exe android studio

mysql - 在 MySQL 数据库上使用 Groovy 表达式的 transient 属性问题

java - 如何实现始终返回非空值的排序多值树映射

java - 如何正确销毁 Java 中的 Apache Commons DBCP 池?

java - Apache 通用 CSV 格式化程序 : IOException: invalid char between encapsulated token and delimiter

java - Jenkins:构建步骤的条件触发器

java - 使用 Spring Integration MQTT 通过相同连接发布和订阅

grails - Groovy:访问父类中的属性

json - 消费 org.glassfish.grizzly.utils.BufferInputStream@ Mule

java - 后有 2 位数字的结果。例如 :23. 65