StAX là API cho việc thao tác với tài liệu XML dựa trên sự kiện. Tuy nhiên nó khác với cách xử lý của SAX (Simple API for XML). StAX dùng pull-parsing còn SAX dùng push-parsing.
Tham khảo thêm tại:http://java.sun.com/webservices/docs/1.6/tutorial/doc/SJSXP2.html
Ví dụ:
import java.io.FileReader;
import java.io.Reader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamReader;
public class XMLStreamReaderDemo {
public static void main(String[] args) throws Exception {
XMLInputFactory factory = XMLInputFactory.newInstance();
Reader fileReader = new FileReader(“source.xml”);
XMLStreamReader reader = factory.createXMLStreamReader(fileReader);
while (reader.hasNext()) {
process(reader);
reader.next();
}
}
private static void process(XMLStreamReader reader) {
int eventType = reader.getEventType();
switch (eventType) {
case XMLStreamConstants.START_ELEMENT:
System.out.println(“Start element: ” + reader.getLocalName());
int count = reader.getAttributeCount();
for (int i = 0; i < count; i++) {
String name = reader.getAttributeLocalName(i);
String value = reader.getAttributeValue(i);
System.out.println(“\tAttribute name/value: ” + name + “/” + value);
}
break;
case XMLStreamConstants.END_ELEMENT:
System.out.println(“End element: ” + reader.getLocalName());
break;
case XMLStreamConstants.CHARACTERS:
System.out.println(“Text: ” + reader.getText());
break;
default:
break;
}
}
} |
Like this:
Be the first to like this page.
Ice said
Thầy cho em hỏi pull-parsing và push-parsing khác nhau chỗ nào Thầy, em cám ơn thầy