
{filelink=978}
import java.io.FileReader;
import java.io.Reader;
import java.util.Iterator;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.events.Attribute;
import javax.xml.stream.events.Characters;
import javax.xml.stream.events.EndElement;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;
public class ExempleXMLEventReader {
private static void traiterElement(XMLEventReader reader)throws Exception
{
while (reader.hasNext())
{
XMLEvent event = reader.nextEvent();
if (event.isStartElement()) {
StartElement element = (StartElement) event;
System.out.println("Début de l'element: " + element.getName());
Iterator iterator = element.getAttributes();
while (iterator.hasNext()) {
Attribute attribute = (Attribute) iterator.next();
QName nom = attribute.getName();
String valeur = attribute.getValue();
System.out.println("Attribut nom/valeur: " + nom + "/" + valeur);
}
}
if (event.isEndElement()) {
EndElement element = (EndElement) event;
System.out.println("Fin de l'element:" + element.getName());
}
if (event.isCharacters()) {
Characters characters = (Characters) event;
System.out.println("Texte: " + characters.getData());
}
}
}
public static void main(String[] args) throws Exception
{
XMLInputFactory factory = XMLInputFactory.newInstance();
Reader fichierXML = new FileReader("test.xml");
XMLEventReader reader = factory.createXMLEventReader(fichierXML);
traiterElement(reader);
}
}