STAX et XML: Afficher les informations des éléments(noms, valeurs et attributs)

Author:


Download

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();
    }
  }
 
}