我是项目中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值作为String获取,如下所示
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
时,它只是显示值,而不显示 <form autocomplete="off" name="$parent.formLocalisation">
<input type="text" placeholder='countrycode'
class="form-control input-md"
ng-minlength="2" ng-maxlength="3" name="countrycode"
ng-change="validLocalisationField('countrycode')"
ng-model="countrycode" />
<input type="text" placeholder='country name'
class="form-control input-md"
ng-minlength="2" ng-maxlength="3" name="countryname"
ng-change="validLocalisationField('countryname')"
ng-model="countryname" />
</form>
答案 0 :(得分:0)
默认情况下,Scala具有您想要的行为。见下面的输出:
scala> val resultString = <response><play>Scala</play><version>2.3.9</version></response>
resultString: scala.xml.Elem = <response><play>Scala</play><version>2.3.9</version></response>
scala> println("resultString:="+resultString)
resultString:=<response><play>Scala</play><version>2.3.9</version></response>
这应该转换为字符串:
scala> resultString.toString
res1: String = <response><play>Scala</play><version>2.3.9</version></response>