在我阅读了xml.Utility.unescape
的sdk文档之后,我会认为这是xml.Utility.escape
的反向操作,但是它似乎根本没有做任何事情:
scala> xml.Utility.escape("& <")
res0: String = & <
scala> val sb = new StringBuilder
sb: StringBuilder =
scala> xml.Utility.unescape("& <", sb)
res1: StringBuilder = null
scala> sb.toString
res2: String = ""
如何正确使用
xml.Utility.unescape
? 最佳答案
我查看了unescape
文档,非常失望…
将未转换的字符串追加到s,amp变为&,lt变为如果ref不是预定义的实体,则返回null。
因此,似乎unescape
意味着要将单个字符附加到StringBuilder
中。它认为"& <"
不是“预定义的实体”,所以它为您的null
返回了res1
。
REPL中的一些测试:
scala> unescape("amp", sb)
res9: StringBuilder = &
scala> unescape("lt", sb)
res10: StringBuilder = &<
scala> unescape(" ", sb)
res11: StringBuilder = null