Groovy 2.2.0

groovy.xml
[Groovy] Class StaxBuilder

java.lang.Object
  groovy.lang.GroovyObjectSupport
      groovy.util.BuilderSupport
          groovy.xml.StaxBuilder

class StaxBuilder
extends BuilderSupport

A Groovy builder that works with Stax processors. Using Java 6, typical usage is as follows:

 def factory = XMLOutputFactory.newInstance()
 def writer = new StringWriter()
 def builder = new StaxBuilder(factory.createXMLStreamWriter(writer))
 builder.root1(a:5, b:7) {
     elem1('hello1')
     elem2('hello2')
     elem3(x:7)
 }
 assert writer == """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"}}}'''
 
Authors:
Dejan Bosanac
Paul King


Property Summary
def writer

 
Constructor Summary
StaxBuilder(def xmlStreamWriter)

 
Method Summary
protected def createNode(def name)

protected def createNode(def name, def value)

protected def createNode(def name, Map attributes)

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

protected void nodeCompleted(def parent, def node)

protected void setParent(def parent, def child)

 
Methods inherited from class BuilderSupport
invokeMethod, invokeMethod, getMetaClass, setMetaClass, setProperty, getProperty, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll
 
Methods inherited from class GroovyObjectSupport
getMetaClass, setMetaClass, invokeMethod, setProperty, getProperty, wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll
 

Property Detail

writer

def writer


 
Constructor Detail

StaxBuilder

StaxBuilder(def xmlStreamWriter)


 
Method Detail

createNode

protected def createNode(def name)


createNode

protected def createNode(def name, def value)


createNode

protected def createNode(def name, Map attributes)


createNode

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


nodeCompleted

protected void nodeCompleted(def parent, def node)


setParent

protected void setParent(def parent, def child)


 

Copyright © 2003-2013 The Codehaus. All rights reserved.