All pastes #255092 Raw Edit

Sans nom

public text v1 · immutable
#255092 ·published 2006-11-22 17:04 UTC
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