/* NetRexx */ options replace format comments java crossref savelog symbols nobinary import java.io.StringWriter import javax.xml.parsers.DocumentBuilderFactory import javax.xml.transform.Result import javax.xml.transform.Source import javax.xml.transform.Transformer import javax.xml.transform.TransformerFactory import javax.xml.transform.dom.DOMSource import javax.xml.transform.stream.StreamResult import org.w3c.dom.Document import org.w3c.dom.Element names = [String - "April", "Tam O'Shanter", "Emily" - ] remarks = [ String - "Bubbly: I'm > Tam and <= Emily" - , 'Burns: "When chapman billies leave the street ..."' - , 'Short & shrift' - ] do -- Create a new XML document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument() -- Append the root element root = doc.createElement("CharacterRemarks") doc.appendChild(root) -- Read input data and create a new element for each name. loop i_ = 0 to names.length - 1 character = doc.createElement("Character") root.appendChild(character) character.setAttribute("name", names[i_]) character.appendChild(doc.createTextNode(remarks[i_])) end i_ -- Serializing XML in Java is unnecessary complicated -- Create a Source from the document. source = DOMSource(doc) -- This StringWriter acts as a buffer buffer = StringWriter() -- Create a Result as a transformer target. result = StreamResult(buffer) -- The Transformer is used to copy the Source to the Result object. transformer = TransformerFactory.newInstance().newTransformer() transformer.setOutputProperty("indent", "yes") transformer.transform(source, result) -- Now the buffer is filled with the serialized XML and we can print it to the console. say buffer.toString catch ex = Exception ex.printStackTrace end return