如何正确使用xml.Utility.unescape?

前端之家收集整理的这篇文章主要介绍了如何正确使用xml.Utility.unescape?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我阅读了xml.Utility.unescape的SDK文档后,我认为它是xml.Utility.escape的反向操作,但它似乎根本没有做任何事情:

scala> xml.Utility.escape("& <")
res0: String = &amp; &lt;

scala> val sb = new StringBuilder
sb: StringBuilder = 

scala> xml.Utility.unescape("&amp; &lt;",sb)
res1: StringBuilder = null

scala> sb.toString
res2: String = ""

如何正确使用xml.Utility.unescape?

解决方法

我查看了unescape文档,我非常失望……

Appends unescaped string to s,amp becomes &,lt becomes < etc..

returns null if ref was not a predefined entity.

因此,看起来unescape意味着将单个字符附加到StringBuilder.它认为“& amp;& lt;”是“不是预定义的实体”所以它为你的res1返回null.

REPL中的一些测试:

scala> unescape("amp",sb)
res9: StringBuilder = &

scala> unescape("lt",sb)
res10: StringBuilder = &<

scala> unescape(" ",sb)
res11: StringBuilder = null

猜你在找的XML相关文章