/* a program to write an xml file */ import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.xml.sax.*; import java.io.*; import org.w3c.dom.*; import java.lang.String; public class DomWriter2{ public static void main(String argv[]) { if (argv.length != 1) { System.err.println("Usage: java DomWriter filename"); System.exit(1); } DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); try { DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.newDocument(); Element bookElement = doc.createElement("book"); Attr versionAttr = doc.createAttribute("version"); versionAttr.setValue("draft"); bookElement.setAttributeNode(versionAttr); Element titleElement = doc.createElement("title"); Element authorElement = doc.createElement("author"); Element firstnameElement = doc.createElement("firstname"); Element lastnameElement = doc.createElement("lastname"); Text firstnameText = doc.createTextNode("Suzy"); Text lastnameText = doc.createTextNode("Creamcheese"); Text titleText = doc.createTextNode ("Network Programming for Dummies"); doc.appendChild(bookElement); titleElement.appendChild(titleText); bookElement.appendChild(titleElement); bookElement.appendChild(authorElement); authorElement.appendChild(firstnameElement); authorElement.appendChild(lastnameElement); firstnameElement.appendChild(firstnameText); lastnameElement.appendChild(lastnameText); Comment theComment = doc.createComment("This is a comment"); doc.appendChild(theComment); Transformer t = TransformerFactory.newInstance().newTransformer(); t.transform(new DOMSource(doc), new StreamResult(argv[0])); catch (TransformerConfigurationException tce) { tce.printStackTrace(); } catch (TransformerException tf) { tf.printStackTrace(); } catch (ParserConfigurationException pce) { pce.printStackTrace(); } } // end of main }