2015-02-09 37 views
1

你好我的Scala程序有问题。 我得到下一个XML文档Scala XML结构转换问题

<mainTag> 
    <a>1</a> 
    <b>2</b> 
    <b>3</b> 
</mainTag> 

转化成JSON后与net.liftweb.Xml mainTag转换成JSON-物体领域A,B,B。而第二个b值丢失。

你能帮助我与XML转换成类似:

<mainTag> 
    <a>1</a> 
    <c> 
    <b>2</b> 
    <b>3</b> 
    </c> 
</mainTag> 
+0

能否请您提供您到目前为止试图实现预期功能的方法? – 2015-02-09 13:36:29

回答

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)