演示示例
这是我们需要创建的XML文档:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <cars><supercars company="Ferrari"> <carname type="formula one">Ferrari 101</carname> <carname type="sports">Ferrari 202</carname> </supercars></cars>
演示示例:
StAXCreateXMLDemo.java
package com.yiibai.xml import java.io.IOException import java.io.StringWriter import javax.xml.stream.XMLOutputFactory import javax.xml.stream.XMLStreamException import javax.xml.stream.XMLStreamWriter public class StAXCreateXMLDemo { public static void main(String[] args) { try { StringWriter stringWriter = new StringWriter() XMLOutputFactory xMLOutputFactory = XMLOutputFactory.newInstance() XMLStreamWriter xMLStreamWriter = xMLOutputFactory.createXMLStreamWriter(stringWriter) xMLStreamWriter.writeStartDocument() xMLStreamWriter.writeStartElement("cars") xMLStreamWriter.writeStartElement("supercars") xMLStreamWriter.writeAttribute("company", "Ferrari") xMLStreamWriter.writeStartElement("carname") xMLStreamWriter.writeAttribute("type", "formula one") xMLStreamWriter.writeCharacters("Ferrari 101") xMLStreamWriter.writeEndElement() xMLStreamWriter.writeStartElement("carname") xMLStreamWriter.writeAttribute("type", "sports") xMLStreamWriter.writeCharacters("Ferrari 202") xMLStreamWriter.writeEndElement() xMLStreamWriter.writeEndElement() xMLStreamWriter.writeEndDocument() xMLStreamWriter.flush() xMLStreamWriter.close() String xmlString = stringWriter.getBuffer().toString() stringWriter.close() System.out.println(xmlString) } catch (XMLStreamException e) { e.printStackTrace() } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace() } } }
这将产生以下结果:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <cars><supercars company="Ferrari"> <carname type="formula one">Ferrari 101</carname> <carname type="sports">Ferrari 202</carname> </supercars></cars>