
{filelink=977}
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 XMLTraitementElems
{
private static void TraiterNoeuds(XMLStreamReader reader)
{
int typeEven = reader.getEventType();
switch (typeEven) {
case XMLStreamConstants.START_ELEMENT: //Verifier si nous sommes au début de l'élément
System.out.println("Début de l'element: " + reader.getLocalName());
int count = reader.getAttributeCount(); // Parcourir et afficher les attributs de l'élémnt
for (int i = 0; i < count; i++)
{
String nom = reader.getAttributeLocalName(i);
String valeur = reader.getAttributeValue(i);
System.out.println("Attribut nom/valeur: " + nom + "/" + valeur);
}
break;
case XMLStreamConstants.END_ELEMENT: //Verifier si nous sommes à la fin de l'élément
System.out.println("Fin de l'element: " + reader.getLocalName());
break;
case XMLStreamConstants.CHARACTERS: // Afficher le texte de l'élémnt s'il en existe
System.out.println("Texte: " + reader.getText());
break;
default:
break;
}
}
public static void main(String[] args) throws Exception
{
XMLInputFactory factory = XMLInputFactory.newInstance();
Reader fichierXML = new FileReader("test.xml");
XMLStreamReader reader = factory.createXMLStreamReader(fichierXML);
while (reader.hasNext())
{
TraiterNoeuds(reader);
reader.next();
}
}
}