您好我的Scala程序存在问题。 我得到下一个XML文档
<mainTag>
<a>1</a>
<b>2</b>
<b>3</b>
</mainTag>
使用net.liftweb.Xml转换为JSON后,mainTag将转换为带有字段a,b,b的JSON-Object。第二个b值丢失了。
您能否帮我将XML转换为:
<mainTag>
<a>1</a>
<c>
<b>2</b>
<b>3</b>
</c>
</mainTag>
答案 0 :(得分:2)
此解决方案提供了所需的结果:
val data = <mainTag>
<a>1</a>
<b>2</b>
<b>3</b>
</mainTag>
1)
val elem = <mainTag>
{
data.child.filter(_.label != "b") ++
<c>{ data \ "b" }</c>
}
</mainTag>
2)
val elem = <mainTag>
{
val parts = data.child.partition(_.label != "b")
parts._1 ++ <c>{ parts._2 }</c>
}
</mainTag>
结果:
val p = new scala.xml.PrettyPrinter(80, 2)
var res = p.format(elem)
println(res)