Problème XML avec JDOM en Java

Résolu
no_7 Messages postés 7 Statut Membre -  
sandul Messages postés 4013 Statut Membre -
Bonjour,

Je voudrai créer un fichier XML avec JDOM à partir d'une servlet qui appelle une méthode.

J'arrive très bien à créer le fichier XML lorsque le code ce trouve dans un " public static void main (String[] argv) ", mais dès que j'essai de le mettre dans une méthode et de l'appeler cela ne fontionne plus. De mon bloc try{} je passe directement à mon bloc finally{}.

Si je fais ca :

 public static void main (String[] argv) {	
          try{
            Element root = new Element("etudiants");
            Document doc = new Document(root);
            Element node1 = new Element("etudiant");
            node1.setAttribute("prenom","titi" );
            node1.setAttribute("nom", "nomtiti");
            Element node2 = new Element("etudiant");
            node2.setAttribute("prenom","toto" );
            node2.setAttribute("nom", "nomtoto");
 
            root.addContent(node1);
            root.addContent(node2); 
 
            XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
            outputter.output(doc, new FileOutputStream("C:/java/base.xml"));
            
            write( doc, System.out, null );
                        
        }catch (Throwable e) {
            e.printStackTrace();
      }      
    }


cela fontionne.

MAIS si je prend ce meme code est que je le met dans :
public class XMLTransfert {
 public static void CreateXML( String DestinationFolder ) throws Exception
    { ... ICI ...}
}


j'appel " XMLTransfert.CreateXML("/java"); " dans ma servlet avec l'import qui va bien (import XML.XMLTransfert, cela ne fonctionne pas.

Est ce que quelqu'un aurait une idee, ..., ca fait 3 jours que je suis dessus sans résultat.

Merci d'avance
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. sandul Messages postés 4013 Statut Membre 723
     
    Salut,

    1. cela ne fonctionne pas.
    ==> quelle erreur exacte?
    2. Sous quel serveur applicatif essaies-tu d'exécuter (Tomcat, WAS, BEA, etc.) ?

    ++
    2
    1. no_7 Messages postés 7 Statut Membre 4
       
      Je suis sous FireFox avec FireBug, ce dernier me renvoie "Loading ...." par le Response du POST de SendCatalogue
      0
  2. no_7 Messages postés 7 Statut Membre 4
     
    C BON,

    Merci sandul pour ton aide, c'etait un pb de librairie, j'ai recupere un .jar et remplace la librairie que j'avais et c'est bon

    @+
    2
    1. sandul Messages postés 4013 Statut Membre 723
       
      Euh, pas de quoi, je n'ai pas vraiment aidé sur ce coup là... :)
      0
  3. no_7 Messages postés 7 Statut Membre 4
     
    Bonjour,

    1. Tout mon problème est là, j'ai pas d'erreur ... j'ai des blocs try{} catch{} partout et pas un message.

    Ma servlet à cette structure :

    public class SendCatalogue extends HttpServlet {
       
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, Exception {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {
              XMLTransfert.CreateXML("/java");        
            } 
            catch(Exception e){        
               out.print(e.toString());       
            }
            finally { 
                out.close();
            }  
        } 
    //--- Plus les doGet et doPost
    }
    


    Lorsque j'arrive sur la ligne " XMLTransfert.CreateXML("/java"); ", je passe directement dans le bloc " finally " sans même rentrer dedans

    2. Jonas - Apache Tomcat

    Merci
    1
    1. no_7 Messages postés 7 Statut Membre 4
       
      Re,

      J'ai enfin eu un msg d'erreur quand je passe par ma servlet :

      java.lang.NoClassDefFoundError: org/jdom/Content

      C'est bizzare car j'ai pas ce message lorsque je passe par un "main" ...

      pourtant j'ai ajouté les imports " import org.jdom.*; " et même avec " import org.jdom.Content; ", ca fonctionne pas ...
      0