2015-02-09 35 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)