【发布时间】:2015-11-02 12:48:40
【问题描述】:
我是Play Framework(Scala)的新手,在我的项目中我需要将XML响应值转换为普通String
我真正需要的东西
val result:Option[Elem] = //response from web server
例如,将此 XML 值视为 result 变量值
<response><play>Scala</play><version>2.3.9</version></response>
我需要像下面这样获取 XML 值作为字符串
println("resultString:="+resultString)
需要的输出
resultString:=<response><play>Scala</play><version>2.3.9</version><response>
我检查了以下两种方法,但它没有像我需要的那样将整个 XML 值转换为 String。它只给出了像 Scala2.3.9 这样的值,而不像 XML String。
val resultString:String = result.get.text
val resultString:String = result.get.toString()
已编辑
在打印result.get.toString() 时,它会将XML 值打印为String,但我在项目中所做的是我将String 值设置为一些JsObject,就像这样Json.obj("resultString"->result.get.toString())。当我从响应中得到JsObject 时,它只显示值,不显示Tags
【问题讨论】:
-
你试过
result.get.mkString吗? -
标签
<response>没有用</response>正确关闭。其他明智的result.get.toString将起作用。 -
@johny 实际上我在这里得到了一些
xml值我发布了dummy值。原始响应中的所有标签都已正确关闭。 -
确保我刚刚在 REPL 中再次尝试过,
toString对我来说很好。 -
@johny 我检查了
result.get.toString()它返回的值与我在问题中提到的值相同。
标签: xml string scala playframework playframework-2.3