tags:

views:

117

answers:

2

How can I create a node in Scala without using literals?

What I need is to set the node tag name in runtime, for example:

var tag = "post"
var content = "234"

How can I get a node <post>234</post>?

+4  A: 
scala> import xml._
import xml._

scala> def textElem(name: String, text: String) =  Elem(null, name, Null, TopScope, Text(text)) 
textElem: (name: String,text: String)scala.xml.Elem

scala> textElem("foo", "bar")                                                                   
res0: scala.xml.Elem = <foo>bar</foo>
retronym
+5  A: 

On Scala 2.8:

<xml>{content}</xml>.copy(label = tag)
Daniel