Bonjour,

voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
public static void maMethode(){
		try {
			System.out.println("Go");
 
			//Selection des fichiers XML à traiter
			  File file = new File("");
			  String chemin = file.getAbsolutePath();
		      File oChemin = new File(chemin);
		      File[] oCollection = oChemin.listFiles();
		      for(int i = 0; i < oCollection.length; i++){		      
		      if (oCollection[i].getName().endsWith(".xml"))
		    	  System.out.println("Nom de la cible : " + oCollection[i].getName());
 
 
			//construction du fichier XML
			DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();				
			fabrique.setNamespaceAware(true);			
			DocumentBuilder analyseur = fabrique.newDocumentBuilder();
 
			//création du fichier XML
			Document doc = analyseur.parse(new File(oCollection[i].getName()));
			DOMSource sourceXML = new DOMSource(doc);		
 
			//Création du fichier XSL
			doc = analyseur.parse(new File("test.xsl"));
			DOMSource sourceXSL = new DOMSource(doc);
 
			TransformerFactory trFact = TransformerFactory.newInstance();
			Transformer transformeur = trFact.newTransformer(sourceXSL);
			transformeur.setOutputProperty(OutputKeys.METHOD, "html");
			transformeur.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
			transformeur.setOutputProperty(OutputKeys.INDENT, "yes");
 
			//transformeur.setParameter("num", "6");
			File oFic = new File("resultat"+i+".vm");
			FileOutputStream fos = new FileOutputStream(oFic);
 
			if (fos != null) {
				Result sortie = new StreamResult(fos);
				transformeur.transform(sourceXML, sortie);
							}
 
			fos.flush();
			fos.close();
			System.out.println("XSL transf done");
 
			Velocity.init();
			VelocityContext context = new VelocityContext();
			context.put( "date", new DateHelper());
			Template template = Velocity.getTemplate("resultat"+i+".vm");
			FileWriter fw = new FileWriter("result"+i+".xls");				
			template.merge( context, fw );		
			fw.close();
 
			System.out.println("Velocity transf done");
 
			}
		} catch (Throwable t) {
			t.printStackTrace();
		}
	}
J'essaye de traiter tous les fichiers XML présent dans mon répertoire courant et de créer à chaque fois un fichier excel (resultat du traitement). Je ne comprend pas pourquoi ca plante.... (au départ je traitais seulement un fichier et il n'y avait pas de souci)
Le resulat que j'obitnes est le traitement de 3 fichiers XML sur 6 , et avec un fichier excel en sortie qui bug


Merci d'avance !!


Merci d'avance