Scala:如何以编程方式创建XML标记并在其中插入值?

时间:2015-11-26 15:10:40

标签: xml scala

我目前有这样的事情:

val green = "GREEN"

我想以编程方式创建标记并插入green作为其唯一的子项。它应该是这样的:

val blue = if(blah) "INDIGO" else "SKY"
val fooElem:Elem = <{blue}> green<{blue}>
显然,这不起作用。然后我发现可以像这样生成一个空的Elem

val fooEmpty = new Elem(null, blue, scala.xml.Null , scala.xml.TopScope, false) //this is <INDIGO></INDIGO> or <SKY></SKY>

现在,我不知道如何以编程方式将green添加为其子/值,以使其成为fooElem。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

像那样:

val fooEmpty = new Elem(null, blue, scala.xml.Null , scala.xml.TopScope, false, Text(green))

构造函数是:

new
Elem(prefix: String, label: String, attributes1: MetaData, scope: NamespaceBinding, minimizeEmpty: Boolean, child: Node*)

因此您可以将子节点作为最后一个参数传递