// ------------------------------- XMLParserRepartiteur.java ------------------------------ package outils; import java.io.*; import java.util.Vector; /** Package modmission regroupe les classes du modele. **/ import modmission.Repartiteur; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.w3c.dom.*; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; import org.xml.sax.helpers.XMLReaderFactory; import org.xml.sax.helpers.ParserFactory; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; public class XMLParserRepartiteur extends DefaultHandler { private Repartiteur unRepartiteur; private String valeur = ""; private Vector mesRepartiteurs = new Vector(); public XMLParserRepartiteur() { super(); } public Vector getLesRepartiteurs() { return this.mesRepartiteurs; } public void parseRepartiteur(String fichierXML) throws Exception { XMLReader xr = XMLReaderFactory.createXMLReader(); xr.setContentHandler(this); xr.setErrorHandler(this); FileReader r = new FileReader(fichierXML); xr.parse(new InputSource(r)); } public void startElement (String uri, String name, String qName, Attributes atts) { if (qName.compareToIgnoreCase("repartiteur")==0) { unRepartiteur = new Repartiteur(); } } public void endElement (String uri, String name, String qName) { if (qName.compareToIgnoreCase("idRepartiteur")==0) { unRepartiteur.setIdPersonnel(Integer.parseInt(valeur.trim())); } if (qName.compareToIgnoreCase("nom")==0) { unRepartiteur.setNom(valeur.trim()); } if (qName.compareToIgnoreCase("prenom")==0) { unRepartiteur.setPrenom(valeur.trim()); } if (qName.compareToIgnoreCase("repartiteur")==0) { mesRepartiteurs.add(unRepartiteur); } valeur=""; } public void characters (char ch[], int start, int length) { for (int i=start; i < start + length; i ++) { valeur+=(char)ch[i]; } } public void ajouteRepartiteur(String sonNom, String sonPrenom) throws Exception { parseRepartiteur("repartiteur.xml"); // unRepartiteur.setIdPersonnel(sonIdRepartiteur); // unRepartiteur.setNom(sonNom); // unRepartiteur.setPrenom(sonPrenom); // mesRepartiteurs.add(unRepartiteur); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.newDocument(); Element racine = document.createElement("repartiteurs"); document.appendChild(racine); Element client = document.createElement("repartiteur"); for (int i=0;i