use of de.odysseus.staxon.json.JsonXMLInputFactory in project hale by halestudio.
the class JsonXML method toXML.
public static void toXML(Reader jsonReader, Writer xmlWriter) throws XMLStreamException, FactoryConfigurationError, TransformerConfigurationException, TransformerException, TransformerFactoryConfigurationError {
/*
* If the <code>multiplePI</code> property is set to <code>true</code>,
* the StAXON reader will generate <code><xml-multiple></code>
* processing instructions which would be copied to the XML output.
* These can be used by StAXON when converting back to JSON to trigger
* array starts. Set to <code>false</code> if you don't need to go back
* to JSON.
*/
JsonXMLConfig config = new JsonXMLConfigBuilder().multiplePI(false).build();
/*
* Create source (JSON).
*/
XMLStreamReader reader = new JsonXMLInputFactory(config, new JsonStreamFactoryImpl()).createXMLStreamReader(jsonReader);
Source source = new StAXSource(reader);
/*
* Create result (XML).
*/
XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(xmlWriter);
// format
Result result = new StAXResult(new PrettyXMLStreamWriter(writer));
// output
/*
* Copy source to result via "identity transform".
*/
TransformerFactory.newInstance().newTransformer().transform(source, result);
}
Aggregations