Chciałbym funkcji Scala, aby zwrócić String &
, gdy podane dane wejściowe &
, podobnie dla wszystkich innych znaków XML Escaped.Jak przywrócić znaki ze znaków ewakuacyjnych XML (XML unescape)?
próbowałem użyć xml.Unparsed
, może w niewłaściwy sposób, że nie daje mój pożądany wynik:
scala> val amp = '&'
amp: Char = &
scala> <a>{amp}</a>.toString
res0: String = <a>&</a>
scala> import scala.xml._
import scala.xml._
scala> <a>{amp}</a>.child(0)
res1: scala.xml.Node = &
scala> xml.Unparsed(<a>{amp}</a>.child(0).toString)
res2: scala.xml.Unparsed = &
Mam również próbował użyć xml.Utility.unescape
, ale to nie daje żadnego wyjścia w ogóle :
scala> val sb = new StringBuilder
sb: StringBuilder =
scala> xml.Utility.unescape("&", sb)
res0: StringBuilder = null
scala> sb.toString
res1: String = ""
scala>
Brudny rzeczywiście. 'scala> unescape (" foo & bar ") res3: String = foo \ bar' – erich2k8