Listing 2: XMLOutputter.java
import javax.xml.stream.*;
import javax.xml.stream.events.*;
import javax.xml.stream.XMLOutputFactory;
import java.io.*;
public class XMLWriter{
public void generateXMLDocument(){
try{
XMLOutputFactory
outputFactory=XMLOutputFactory.newInstance();
FileWriter output=new FileWriter(new File("C:/STAX/catalog.xml"));
XMLStreamWriter
xmlStreamWriter=outputFactory.createXMLStreamWriter(output);
xmlStreamWriter.writeStartDocument("UTF-8","1.0");
xmlStreamWriter.writeComment("A OReilly Journal Catalog");
xmlStreamWriter.writeProcessingInstruction("catalog","journal='OReilly'");
xmlStreamWriter.writeStartElement("journal","catalog","http://OnJava.com/Journal");
xmlStreamWriter.writeNamespace("journal","http://OnJava.com/Journal");
xmlStreamWriter.writeNamespace("xsi","http://www.w3.org/2001
/XMLSchema-instance");
xmlStreamWriter.writeAttribute("xsi:noNamespaceSchemaLocatio
n","file://c:/Schemas/catalog.xsd");
xmlStreamWriter.writeAttribute("publisher","OReilly");
xmlStreamWriter.writeStartElement("journal","journal","http://OnJava.com/Journal");
xmlStreamWriter.writeAttribute("date","January 2004");
xmlStreamWriter.writeAttribute("title","ONJava");
xmlStreamWriter.writeStartElement("article");
xmlStreamWriter.writeStartElement("title");
xmlStreamWriter.writeCharacters("Data Binding with XMLBeans");
xmlStreamWriter.writeEndElement();
xmlStreamWriter.writeStartElement("author");
xmlStreamWriter.writeCharacters("Daniel Steinberg");
xmlStreamWriter.writeEndElement();
xmlStreamWriter.writeEndElement();
xmlStreamWriter.writeEndElement();
xmlStreamWriter.writeStartElement("journal","journal","http:
//OnJava.com/Journal");
xmlStreamWriter.writeAttribute("date","July 2004");
xmlStreamWriter.writeAttribute("title","java.net");
xmlStreamWriter.writeStartElement("article");
xmlStreamWriter.writeStartElement("title");
xmlStreamWriter.writeCharacters("Hibernate: A Developer's Notebook");
xmlStreamWriter.writeEndElement();
xmlStreamWriter.writeStartElement("author");
xmlStreamWriter.writeCharacters("James Elliott");
xmlStreamWriter.writeEndElement();
xmlStreamWriter.writeEndElement();
xmlStreamWriter.writeEndElement();
xmlStreamWriter.writeEndElement();
xmlStreamWriter.flush();
xmlStreamWriter.close();
}catch(FactoryConfigurationError e){}
catch(XMLStreamException e){}
catch(IOException e){}
}
public static void main(String[] argv){
XMLWriter xmlWriter=new XMLWriter();
xmlWriter.generateXMLDocument();
}
}
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|