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