Groovy's XML MarkupBuilder class is an example of a class that has been created using Groovy's dynamic programming features. We looked at dynamically intercepting method calls in the previous chapter, something that would be impossible to implement in such a seamless way in a static language, such as Java or Kotlin.
For illustration, here's an example code using the Groovy's XML MarkupBuilder class. There's no need to enter this code in the Eclipse IDE yet, but you could enter this code in GroovyConsole and run it there:
def xmlContent = new StringWriter()
def xmlWriter = new groovy.xml.MarkupBuilder(xmlContent)
xmlWriter.items {
item(id: 1) {
name("Item one")
}
item(id: 2) {
name("Item two")
}
}
println(xmlContent)
A lot is happening in the preceding...