public static void saveCourseCreerToXml(Evenement event) { Element elementEvent = JDomOperations.getElementActuel_(); Element listCourses = elementEvent.getChild("listcourses"); Iterator itListCoursesInEvent = event.getIteratorCollectionEssaiCourse_(); while (itListCoursesInEvent.hasNext()) { EssaiOrCourse course = (EssaiOrCourse) itListCoursesInEvent.next(); Element elementCourse = new Element("course"); elementCourse.setAttribute(new Attribute("nomEssaiOrCourse", course.getNomEssaiOrCourse_())); elementCourse.setAttribute( new Attribute("typeEssaiOrCourse", course.getTypeEssaiOrCourse_().toString())); listCourses.addContent(elementCourse); } JDomOperations.enregistre(elementEvent.getDocument(), xmlDefaultPath); }
// /** // * permet de creer un nouvel element Evenement // * @param xmldefaultpath2 est le path principal par défaut // */ // private static Document createElementEvenement(String xmldefaultpath2) { // SAXBuilder sxb = new SAXBuilder(); // Document document=null; // try{ // document = sxb.build(new File(xmldefaultpath2)); // // Element racine = document.getRootElement(); // // Element newVoitureElement=new Element("evenement"); // newVoitureElement.setAttribute("nomEvenement",""); // newVoitureElement.setAttribute("nomCircuit",""); // newVoitureElement.setAttribute("longueurCircuit",""); // // enregistre(document, xmlTempPathListVoitures); // } // catch(Exception e){ // e.getMessage(); // // } // return document; // } private static void cleanTemp(String path, String childrenName) { SAXBuilder sxb = new SAXBuilder(); Document document; try { document = sxb.build(new File(path)); Element racine = document.getRootElement(); racine.removeChildren(childrenName); JDomOperations.enregistre(document, path); } catch (Exception e) { e.getMessage(); } }
/** * permet de sauvegarder un evenement dans le fichier xml en créant un nouveau element s'il * n'existe pas encore sinon en mettant à jour ses élements * * @param pevent */ public static void saveEvenementToXml(Evenement pevent) { // SAXBuilder sxbuilder = new SAXBuilder(); // Document document; // vérifier si l'élément actuel existe ou pas if (JDomOperations.getElementActuel_() == null) { System.out.println("pas d'element actuel"); SAXBuilder sxb = new SAXBuilder(); // Document document=null; try { Document document = sxb.build(new File(xmlDefaultPath)); Element racine = document.getRootElement(); Element newEvenementElement = new Element("evenement"); // // newEvenementElement.setAttribute("nomEvenement",pevent.getNomEvenement_()!=null?pevent.getNomEvenement_():""); // // newEvenementElement.setAttribute("nomCircuit",pevent.getNomCircuit_()!=null?pevent.getNomCircuit_():""); // // newEvenementElement.setAttribute("longueurCircuit",pevent.getLongueurCircuit_()>0?String.valueOf(pevent.getLongueurCircuit_()):""); // recuperation de la liste des voitures et des courses dans les Documents xml respectifs Document documentlistVoitures = getXmlList(xmlTempPathListVoitures); Document documentlistCourses = getXmlList(xmlTempPathListCourses); System.out.println("liste azo"); Element rootListVoitures = documentlistVoitures.getRootElement(); Element rootListCourses = documentlistCourses.getRootElement(); List<Element> listVoitures = rootListVoitures.getChildren(); List<Element> listCourses = rootListCourses.getChildren(); for (int i = 0; i < listVoitures.size(); i++) { System.out.println(listVoitures.get(i).getName()); } System.out.println("children azo"); // creation des elements listvoitures et listcourses Element listVoituresElement = new Element("listvoitures"); Element listCoursesElement = new Element("listcourses"); System.out.println(listVoitures.size()); System.out.println(listCourses.size()); for (int i = 0; i < listVoitures.size(); i++) { System.out.println("avant" + i); listVoituresElement.addContent(listVoitures.get(i)); System.out.println("apres" + i); } // System.out.println("between"); // for(Element course:listCourses){ // listCoursesElement.addContent(course); // } // listVoituresElement.add // // listVoituresElement.addContent(listVoitures); // listCoursesElement.addContent(listCourses); System.out.println("content ajouté"); // ajout des elements listvoitures et listcourses dans l'element evenement newEvenementElement.addContent(listVoituresElement); newEvenementElement.addContent(listCoursesElement); racine.addContent(newEvenementElement); System.out.println("avant enregistre"); enregistre(document, xmlDefaultPath); } catch (Exception e) { e.getMessage(); } } /*else{ Element elementEvent=JDomOperations.getElementActuel_(); Element listcoursesDefault=elementEvent.getChild("listcourses"); Element listvoituresDefault=elementEvent.getChild("listvoitures"); elementEvent.getAttribute("nomEvenement").setValue(pevent.getNomEvenement_()); elementEvent.getAttribute("nomCircuit").setValue(pevent.getNomCircuit_()); elementEvent.getAttribute("longueurCircuit").setValue(String.valueOf(pevent.getLongueurCircuit_())); // cleanTemp(xmlTempPathListCourses,"listcourses"); // cleanTemp(xmlTempPathListVoitures,"listevents"); List<Element> elementListcourses=getListinTemp(xmlTempPathListCourses); List<Element> elementListvoitures=getListinTemp(xmlTempPathListVoitures); System.out.println("taillecourse"+elementListcourses.size()); System.out.println("taillevoiture"+elementListvoitures.size()); for(Element courseElement:elementListcourses){ listcoursesDefault.addContent(courseElement); } for(Element voitureElement:elementListvoitures){ listvoituresDefault.addContent(voitureElement); } cleanTemp(xmlTempPathListCourses,"listcourses"); cleanTemp(xmlTempPathListVoitures,"listevents"); JDomOperations.enregistre(elementEvent.getDocument(), xmlDefaultPath); }*/ }