http://docs.oracle.com/javase/tutorial/jaxp/stax/index.html
StAX is the latest API in the JAXP family, and provides an alternative to SAX, DOM, TrAX, and DOM for developers looking to do high-performance stream filtering, processing, and modification, particularly with low memory and limited extensibility requirements.
package staxdemo;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import javax.xml.stream.FactoryConfigurationError;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
public class Demo {
public static void main(String[] args) throws FileNotFoundException, XMLStreamException {
writeDemo();
}
private static void writeDemo() throws FactoryConfigurationError,
XMLStreamException, FileNotFoundException {
XMLOutputFactory factory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = new com.sun.xml.internal.txw2.output.IndentingXMLStreamWriter(factory.createXMLStreamWriter(
new FileOutputStream("demo.xml")));
writer.writeStartDocument();
writer.writeStartElement("group");
writer.writeAttribute("name", "mygroup");
writer.writeStartElement("student");
writer.writeAttribute("studentname", "张三");
writer.writeEndElement();
writer.writeStartElement("student");
writer.writeAttribute("studentname", "李四");
writer.writeEndElement();
writer.writeEndElement();
writer.writeEndDocument();
writer.flush();
writer.close();
}
}
<?xml version="1.0" ?>
<group name="mygroup">
<student studentname="张三"></student>
<student studentname="李四"></student>
</group>