import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamReader;
import java.io.FileInputStream;
public class StAXParser {
public static void main(String[] args) {
try {
XMLInputFactory factory = XMLInputFactory.newFactory();
XMLStreamReader reader = factory.createXMLStreamReader(new FileInputStream("large.xml"));
while (reader.hasNext()) {
int event = reader.next();
switch (event) {
case XMLStreamConstants.START_ELEMENT:
String elementName = reader.getLocalName();
System.out.println("Start element: " + elementName);
break;
case XMLStreamConstants.CHARACTERS:
String text = reader.getText();
System.out.println("Text: " + text);
break;
case XMLStreamConstants.END_ELEMENT:
String endElementName = reader.getLocalName();
System.out.println("End element: " + endElementName);
break;
}
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
XMLStreamReader reader = factory.createXMLStreamReader(new BufferedInputStream(new FileInputStream("large.xml")));
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import java.io.FileOutputStream;
public class StAXWriter {
public static void main(String[] args) {
try {
XMLOutputFactory factory = XMLOutputFactory.newFactory();
XMLStreamWriter writer = factory.createXMLStreamWriter(new FileOutputStream("output.xml"));
writer.writeStartDocument();
writer.writeStartElement("root");
writer.writeEndElement();
writer.writeEndDocument();
writer.close();
} catch (XMLStreamException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}