Groovy StAXBuilder
Description
Simple Groovy builder that uses StAX API to generate XML/JSON documents
Download
You can download the builder here
Source
Source code is currently available at http://code.google.com/p/dynawork/source.
Example
Here are a few examples taken from test cases
Creating XML using Woodstox
WstxOutputFactory factory = new WstxOutputFactory()
StringWriter writer = new StringWriter()
StaxBuilder builder = new StaxBuilder(
factory.createXMLStreamWriter(writer)
)
builder.root1(a:5, b:7) {
elem1('hello1')
elem2('hello2')
elem3(x:7)
}
assert writer,
"""<root1 a="5" b="7">
<elem1>hello1</elem1>
<elem2>hello2</elem2>
<elem3 x="7" />
</root1>"""
Creating JSON using Jettison
MappedNamespaceConvention con = new MappedNamespaceConvention();
StringWriter writer = new StringWriter()
MappedXMLStreamWriter mappedWriter
= new MappedXMLStreamWriter(con, writer);
StaxBuilder builder = new StaxBuilder(mappedWriter)
builder.root1(a:5, b:7) {
elem1('hello1')
elem2('hello2')
elem3(x:7)
}
assert writer,
"""{"root1":{"@a":"5","@b":"7",
"elem1":"hello1",
"elem2":"hello2",
"elem3":{"@x":"7"}
}}"""