2013-07-27 1 views
0

저는 스칼라를 배우고 xml 파일을 작성하는 데 문제가 있습니다.xml 노드 목록을 반복적으로 스칼라로 작성하기

가정하자 내가 가지고

case class Coordinate(x: Int, y: Int) 

나는 형식으로 XML 파일을 인쇄해야
val l = List(Coordinate(1,3), Coordinate(2,4), Coordinate(3,5)) 

:

<root> 
    <object> 
    <coord x="1" y="3"/> 
    <coord x="2" y="4"/> 
    <coord x="3" y="5"/> 
    </object> 
</root>` 

내가 너무 재귀를 구현하기 위해 노력하고있어 많은 양의 좌표 데이터와 다중에서 작동합니다.

<object>. 
나는이와 결과를 확인하기 위해 먼저 출력을 인쇄하는 것을 시도했다

:

def convertToXML(l: List[Coordinate]): Unit = { 
    def eachCoordToXML(coord: Coordinate): scala.xml.Node = { 
    <coord x={ coord.x.toString } y={ coord.y.toString } /> 
    } 

    val newObject = 
    <object> 
     { l.foreach(eachCoordToXML(_)) } 
    </object> 

    println(newObject.mkString) 
} 

을하고 그 결과 같은 것을 나타났다이

<object> 

</object> 

사람이 여기에 나를 인도 할 수있는 한 내가 잘못 됐어? 또는 xml 노드를 재귀 적으로 작성하는 데 더 효율적인 방법이 있습니까?

답변

3

모든 것을 제대로하고 있습니다! foreach 대신 map을 사용해야합니다.

foreach (scala)은 Unit입니다.

관련 문제