Generating XML using MarkupBuilder
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 code. However, before we take a detailed look at it, let's look at the result. The preceding code will print the following output to the console...