我正在学习 scala 并且在编写 xml 文件时遇到问题。
假设我有一个
case class Coordinate(x: Int, y: Int)
和
val l = List(Coordinate(1,3), Coordinate(2,4), Coordinate(3,5))
我需要使用以下格式打印一个 xml 文件:
<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 节点?