rendered paste body// ------------------------------- XMLParserRepartiteur.java ------------------------------
package outil;
import java.io.FileReader;
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.Document;
import org.w3c.dom.Element;
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.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
public class XMLParserRepartiteur extends DefaultHandler
{
private Repartiteur unRepartiteur;
private String valeur = "";
private Vector<Repartiteur> mesRepartiteurs = new Vector<Repartiteur>();
public XMLParserRepartiteur()
{
super();
}
public Vector<Repartiteur> 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(int sonIdRepartiteur,String sonNom, String sonPrenom) throws Exception
{
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");
Element idClient = document.createElement("idRepartiteur");
idClient.appendChild(document.createTextNode(Integer.toString(sonIdRepartiteur)));
client.appendChild(idClient);
Element nom = document.createElement("nom");
nom.appendChild(document.createTextNode(sonNom));
client.appendChild(nom);
Element prenom = document.createElement("prenom");
prenom.appendChild(document.createTextNode(sonPrenom));
client.appendChild(prenom);
racine.appendChild(client);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);
}
}//fin class XMLParserRepartiteur