在我阅读了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
发布于 2013-03-15 19:47:39
我查看了unescape文档,但我非常失望……
将未转义的字符串附加到s,amp变成&,lt变成<等等。
如果不是预定义的实体,则ref返回ref null。
因此,看起来unescape的目的是在StringBuilder后面追加一个字符。它认为"& <"“不是一个预定义的实体”,所以它为你的res1返回了null。
REPL中的一些测试:
scala> unescape("amp", sb)
res9: StringBuilder = &
scala> unescape("lt", sb)
res10: StringBuilder = &<
scala> unescape(" ", sb)
res11: StringBuilder = nullhttps://stackoverflow.com/questions/15431402
复制相似问题