import
javax.xml.parsers.DocumentBuilderFactory;
import
javax.xml.parsers.DocumentBuilder;
import
org.w3c.dom.*;
import
java.io.*;
public class
ParsingXML_DOM
{
public static void main(String[] args)
{
try
{
// 1. Charger le fichier XML
File xmlFile = new File("./src/document/employes.xml");
// 2. Créer une instance de DocumentBuilderFactory
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
// 3. Créer un DocumentBuilder
DocumentBuilder builder = factory.newDocumentBuilder();
// 4. Parser le fichier XML et obtenir un Document DOM
Document doc = builder.parse(xmlFile);
// 5. Normaliser le document (nettoyage des espaces et structure
uniforme)
doc.getDocumentElement().normalize();
// 6. Récupérer tous les éléments <employe>
NodeList employeList = doc.getElementsByTagName("employe");
System.out.println("Nombre d'employés : " +
employeList.getLength());
// 7. Parcourir la liste des employés
for (int i = 0; i < employeList.getLength(); i++)
{
Node node = employeList.item(i);
// Vérifier que le nœud est un élément
if (node.getNodeType() == Node.ELEMENT_NODE)
{
Element employe = (Element) node;
// Récupérer l'attribut "id"
String id = employe.getAttribute("id");
// Récupérer les sous-éléments <firstName> et
<lastName>
String firstName =
employe.getElementsByTagName("firstName").item(0).getTextContent();
String lastName =
employe.getElementsByTagName("lastName").item(0).getTextContent();
// Afficher les données de l'employé
System.out.println("\nEmployé ID : " + id);
System.out.println("Prénom : " + firstName);
System.out.println("Nom : " + lastName);
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}