Writing XML
The XML datatype supports writing XML to Strings, output streams or writers.
Writing to a String:
import static org.camunda.spin.Spin.XML;
import org.camunda.spin.xml.SpinXmlElement;
// Create XML element
SpinXmlElement element = XML("<root id=\"test\"/>");
String xml = element.toString();
String value = element.attr("id").value();
Writing to an Output Stream:
import static org.camunda.spin.Spin.XML;
import org.camunda.spin.xml.SpinXmlElement;
import org.camunda.spin.xml.SpinXmlAttribute;
// Create XML element
SpinXmlElement element = XML("<root id=\"test\"/>");
try {
// Define Output Stream
OutputStream outputStream = System.out;
// Wrap Output Stream in Writer
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
// Write element to stream writer
element.writeToWriter(outputStreamWriter);
// Get attribute from element
SpinXmlAttribute attr = element.attr("id");
// Write attribute value to stream writer
attr.writeToWriter(outputStreamWriter);
// End Output Stream
outputStreamWriter.write("\n");
// Close Output Stream and Writer
outputStreamWriter.close();
} catch (IOException e) {
// Handle exception if needed
}
Write to Writer
import static org.camunda.spin.Spin.XML;
import org.camunda.spin.xml.SpinXmlElement;
import org.camunda.spin.xml.SpinXmlAttribute;
// Create XML element
SpinXmlElement element = XML("<root id=\"test\"/>");
// Create String Writer
StringWriter writer = new StringWriter();
// Write element to Writer
element.writeToWriter(writer);
// Get attribute from element
SpinXmlAttribute attr = element.attr("id");
// Write attribute value to Writer
attr.writeToWriter(writer);