[Groovy] Class StaxBuilder

  • groovy.xml.StaxBuilder
class StaxBuilder
extends BuilderSupport

A Groovy builder that works with Stax processors. A typical usage is as follows:

 import javax.xml.stream.XMLOutputFactory
 def factory = XMLOutputFactory.newInstance()
 def writer = new StringWriter()
 def builder = new groovy.xml.StaxBuilder(factory.createXMLStreamWriter(writer))
 builder.root1(a:5, b:7) {
     elem1('hello1')
     elem2('hello2')
     elem3(x:7)
 }
 assert writer.toString() == 'hello1hello2'
 
Or an external library such as Jettison can be used as follows:
 @Grab('org.codehaus.jettison:jettison:1.2')
 import org.codehaus.jettison.mapped.*
 import javax.xml.stream.XMLStreamException

 def conv = new MappedNamespaceConvention()
 def writer = new StringWriter()
 def mappedWriter = new MappedXMLStreamWriter(conv, writer)
 def builder = new groovy.xml.StaxBuilder(mappedWriter)
 builder.root1(a:5, b:7) {
     elem1('hello1')
     elem2('hello2')
     elem3(x:7)
 }
 assert writer.toString() == '''{"root1":{"@a":"5","@b":"7","elem1":"hello1","elem2":"hello2","elem3":{"@x":"7"}}}'''
 

Properties Summary

Properties
Type Name and description
Object writer

Constructor Summary

Constructors
Constructor and description
StaxBuilder (Object xmlStreamWriter)

Methods Summary

Methods
Type Params Return Type Name and description
protected Object createNode(Object name)
protected Object createNode(Object name, Object value)
protected Object createNode(Object name, Map attributes)
protected Object createNode(Object name, Map attributes, Object value)
protected void nodeCompleted(Object parent, Object node)
protected void setParent(Object parent, Object child)

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class BuilderSupport createNode, createNode, createNode, createNode, doInvokeMethod, getCurrent, getName, invokeMethod, invokeMethod, nodeCompleted, postNodeCompletion, setClosureDelegate, setCurrent, setParent
class GroovyObjectSupport getMetaClass, setMetaClass

Property Detail

Object writer

Constructor Detail

StaxBuilder(Object xmlStreamWriter)

Method Detail

protected Object createNode(Object name)

protected Object createNode(Object name, Object value)

protected Object createNode(Object name, Map attributes)

protected Object createNode(Object name, Map attributes, Object value)

protected void nodeCompleted(Object parent, Object node)

protected void setParent(Object parent, Object child)

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/groovy/xml/StaxBuilder.html