/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package princetonPlainsboro; import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.OutputKeys; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; /** * * @author Ludy */ public class EcritureXML { DossierMedical dm; private final static String repBase = "src/donnees/dossiers2.xml"; public EcritureXML(DossierMedical dm) throws SAXException, IOException { Element root = null; String donneesCourantes = ""; this.dm = dm; Element date = null; Date d=null; Element medecin = null; Element patient = null; Element acte = null; Element nom = null; Element prenom = null; Element service = null; Element code = null; Element coef = null; Element mdp=null; Element telephone=null; Element identifiant = null; Element nomP = null; Element prenomP =null; Element DateNai =null; Element INSEE = null; DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance(); DocumentBuilder constructeur; try { constructeur = fabrique.newDocumentBuilder(); Document document = constructeur.newDocument(); // Prop document.setXmlVersion("1.0"); document.setXmlStandalone(true); // Creation des diff catégories de l'XML root = document.createElement("dossiers2"); for (FicheDeSoins f : dm.getFiche()) { Element fBis = document.createElement("ficheDeSoins"); root.appendChild(fBis); date = document.createElement("date"); d= f.getDate(); date.setTextContent(d.getAnnee()+"-"+d.getMois()+"-"+d.getJour()); fBis.appendChild(date); // int annee = Integer.parseInt(donneesCourantes.substring(0, donneesCourantes.indexOf('-'))); // int mois = Integer.parseInt(donneesCourantes.substring(donneesCourantes.indexOf('-') + 1, donneesCourantes.lastIndexOf('-'))); // int jour = Integer.parseInt(donneesCourantes.substring(donneesCourantes.lastIndexOf('-') + 1, donneesCourantes.length())); // // date = new Date(jour, mois, annee); medecin = document.createElement("medecin"); fBis.appendChild(medecin); nom = document.createElement("nom"); nom.setTextContent(f.getMedecin().getNom()); medecin.appendChild(nom); prenom = document.createElement("prenom"); prenom.setTextContent(f.getMedecin().getPrenom()); medecin.appendChild(prenom); service = document.createElement("service"); service.setTextContent(f.getMedecin().getService().toString()); medecin.appendChild(service); telephone = document.createElement("telephone"); telephone.setTextContent(f.getMedecin().getNumTel().toString()); medecin.appendChild(telephone); mdp = document.createElement("mdp"); mdp.setTextContent(f.getMedecin().getMotDePasse().toString()); medecin.appendChild(mdp); identifiant = document.createElement("identifiant"); identifiant.setTextContent(f.getMedecin().getIdentifiant().toString()); medecin.appendChild(identifiant); patient = document.createElement("patient"); fBis.appendChild(patient); nomP = document.createElement("nom"); nomP.setTextContent(f.getPatient().getNom()); patient.appendChild(nomP); prenomP = document.createElement("prenom"); prenomP.setTextContent(f.getPatient().getPrenom()); patient.appendChild(prenomP); DateNai = document.createElement("DateDeNaissance"); DateNai.setTextContent(f.getPatient().getDateNaissance()); patient.appendChild(DateNai); INSEE = document.createElement("numSecu"); INSEE.setTextContent(f.getPatient().getINSEE()); patient.appendChild(INSEE); for (Acte a : f.getActes()) { acte = document.createElement("acte"); fBis.appendChild(acte); code = document.createElement("code"); code.setTextContent(a.getCode().toString()); acte.appendChild(code); coef = document.createElement("coef"); coef.setTextContent(a.toCoef()); acte.appendChild(coef); } } document.appendChild(root); try { // Creation de la source DOM Source source = new DOMSource(document); // Cr�ation du fichier de sortie File file = new File(repBase); Result resultat = new StreamResult(repBase); // Configuration du transformer TransformerFactory fabriqueT = TransformerFactory.newInstance(); Transformer transformer = fabriqueT.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); transformer.setOutputProperty(OutputKeys.STANDALONE, "yes"); // Transformation transformer.transform(source, resultat); } catch (Exception e) { e.printStackTrace(); } } catch (ParserConfigurationException ex) { } } }