IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

simple exemple avec jdom [JDOM]


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut simple exemple avec jdom
    j'ai la simple classe suivante avec jdom:
    classe de test, c'est pour ça le code né pas propre
    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
    package com.yourcompany.JDOMXmlManager;
     
    import java.util.*;
    import java.util.Collection;
    import java.io.*;
    import java.io.*;
    import org.jdom.*;
    import org.jdom.output.*; 
     
     
    public class JDOMTest {
         //simple class de test
        //later cette classe aura une méthode qui appel lobjet bean de la page jsp et extrait le fichier
    	//XML! check conception later, better way
     
    	private Collection objectToBeExtracted;
    	///////les element statiques pour définir les noms des balises...
           //Nous allons commencer notre arborescence en créant la racine XML
    	   //qui sera ici "personnes".
    	   static Element racine = new Element("personnes");
     
    	   //On crée un nouveau Document JDOM basé sur la racine que l'on vient de créer
    	   static org.jdom.Document document = new Document(racine);
     
    	public JDOMTest() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
     
    	public void testFunction()
    	{
    		  //On crée un nouvelle Element etudiant et on l'ajoute 
    	      //en temps qu'Element de racine
    	      Element etudiant = new Element("etudiant");
    	      racine.addContent(etudiant);
     
    	      //On crée un nouvelle Attribut classe et on l'ajoute à etudiant
    	     //grâce à la méthode setAttribute
    	      Attribute classe = new Attribute("classe","P2");
    	      etudiant.setAttribute(classe);
     
    	      //On crée un nouvelle Element nom, on lui assigne du text 
    	      //et on l'ajoute en temps qu'Element de etudiant
    	      Element nom = new Element("nom");
    	      nom.setText("CynO");
    	      etudiant.addContent(nom);
     
    	      //Les deux appels qui suivent seront définis dans la partie 2.3.
    	      //affiche();
    	      enregistre("Exercice 1.xml");	
    		;
    	}
    	//les deux méthodes affiche et enregistre
    	////////////////////////////////////////////////////////////////////////////////////////////
     
    //	Ajouter ces deux méthodes à notre class JDOM
    //once test Ok, cette partie à améliorer le maximum
    //selon les besoins du stockage ..
    	static void affiche()
    	{ 
    	   try
    	   {
    	      //On utilise ici un affichage classic avec getPrettyFormat()
    	      XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
    	      sortie.output(document, System.out);
    	   }
    	   catch (java.io.IOException e){}
    	}
     
    	static void enregistre(String fichier)
    	{ 
    	   try
    	   {
    	      //On utilise ici un affichage classic avec getPrettyFormat()
    	      XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
    	      //Remarquez qu'il suffit simplement de créer une instance de FileOutputStream
    	      //avec en argument le nom du fichier pour effectuer la sérialisation.
    	      sortie.output(document, new FileOutputStream(fichier));
    	   }
    	   catch (java.io.IOException e){}
    	} 
    	////////////////////////////////////////////////////////////////////////////////////////////
     
    }
    et jai les erreurs de compilation suivante:
    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    RAVE: Parse Error at line 6 column 19: Document root element "taglib", must match DOCTYPE root "null".
    org.xml.sax.SAXParseException: Document root element "taglib", must match DOCTYPE root "null".
    	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    	at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.rootElementSpecified(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    	at org.apache.commons.digester.Digester.parse(Digester.java:1765)
    	at org.apache.catalina.startup.ContextConfig.tldScanStream(ContextConfig.java:929)
    	at org.apache.catalina.startup.ContextConfig.tldScanJar(ContextConfig.java:863)
    	at org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java:810)
    	at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:588)
    	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:182)
    	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:3644)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1148)
    	at org.apache.catalina.core.StandardHost.start(StandardHost.java:697)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1148)
    	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:311)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:450)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:2213)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:459)
    	at org.apache.catalina.startup.Catalina.execute(Catalina.java:346)
    	at org.apache.catalina.startup.Catalina.process(Catalina.java:130)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:151)
    27 sept. 2007 14:58:07 org.apache.commons.digester.Digester error
    GRAVE: Parse Error at line 6 column 19: Document is invalid: no grammar found.
    org.xml.sax.SAXParseException: Document is invalid: no grammar found.
    	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    	at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    	at org.apache.commons.digester.Digester.parse(Digester.java:1765)
    	at org.apache.catalina.startup.ContextConfig.tldScanStream(ContextConfig.java:929)
    	at org.apache.catalina.startup.ContextConfig.tldScanJar(ContextConfig.java:863)
    	at org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java:810)
    	at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:588)
    	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:182)
    	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:3644)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1148)
    	at org.apache.catalina.core.StandardHost.start(StandardHost.java:697)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1148)
    	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:311)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:450)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:2213)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:459)
    	at org.apache.catalina.startup.Catalina.execute(Catalina.java:346)
    	at org.apache.catalina.startup.Catalina.process(Catalina.java:130)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:151)

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par fatenatwork Voir le message
    et jai les erreurs de compilation suivante
    A priori, vu les erreurs, ce sont des erreurs d'exécution et non de compilation.

    Ensuite, c'est bien de nous avoir donné la trace des erreurs... mais tu aurais pu en couper un peu... là il y en a vraiment beaucoup :/

    Enfin, les erreurs que tu nous donnes sont les traces d'erreurs du démarrage d'un serveur Tomcat... D'après ce que je lis, c'est ton fichier web.xml de configuration de ton appli web qui est mal dégéré.

    Cependant, pour revenir à ton problème, ces erreurs n'ont pas grand chose à voir avec la classe que tu veux tester!

    Es-tu sûr d'avoir lancé la classe en question et pas autre chose?

    Si tu développes sous Eclipse, fait attention au clic sur le raccourci de la flèche verte "Run". Avec le plugin Tomcat installé, ce raccourci à tendance à tenter de lancer le serveur Tomcat. Il faut donc choisir précisémment la classe que tu veux lancer (clic droit dessus dans le package explorer > Run > Run as java application)
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut traces de log
    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
     
    Created MBeanServer with ID: 1de256f:115472c1529:-8000:I20060486:1
    27 sept. 2007 15:33:32 org.apache.coyote.http11.Http11BaseProtocol init
    INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
    Démarrage du service Tomcat-Standalone
    Apache Tomcat/4.1.36
    27 sept. 2007 15:33:33 org.apache.struts.util.PropertyMessageResources <init>
    INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
    27 sept. 2007 15:33:33 org.apache.struts.util.PropertyMessageResources <init>
    INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
    27 sept. 2007 15:33:34 org.apache.struts.util.PropertyMessageResources <init>
    INFO: Initializing, config='com.yourcompany.struts.ApplicationResources', returnNull=true
    27 sept. 2007 15:33:34 org.apache.commons.digester.Digester error
    GRAVE: Parse Error at line 6 column 19: Document root element "taglib", must match DOCTYPE root "null".
    org.xml.sax.SAXParseException: Document root element "taglib", must match DOCTYPE root "null".
    	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    	at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.rootElementSpecified(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    	at org.apache.commons.digester.Digester.parse(Digester.java:1765)
    	at org.apache.catalina.startup.ContextConfig.tldScanStream(ContextConfig.java:929)
    	at org.apache.catalina.startup.ContextConfig.tldScanJar(ContextConfig.java:863)
    	at org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java:810)
    	at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:588)
    	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:182)
    	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:3644)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1148)
    	at org.apache.catalina.core.StandardHost.start(StandardHost.java:697)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1148)
    	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:311)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:450)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:2213)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:459)
    	at org.apache.catalina.startup.Catalina.execute(Catalina.java:346)
    	at org.apache.catalina.startup.Catalina.process(Catalina.java:130)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:151)
    27 sept. 2007 15:33:34 org.apache.commons.digester.Digester error
    GRAVE: Parse Error at line 6 column 19: Document is invalid: no grammar found.
    org.xml.sax.SAXParseException: Document is invalid: no grammar found.

  4. #4
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut conflit avec jstl.jar et standard.jar
    en premier lieu, j'ai voulu utiliser du xml dans mes pages JSP directement, en ajoutant standard.jar et jstl.jar, ça faisait un conflit lors du demarrage de Tomcat, j'ai pas trop saisi les origines du conflit mais c résolu!
    là jopte plutot pour JDOM,
    enjoy time friends
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JSP] Parsing XML avec JDOM
    Par benben13 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 26/08/2005, 17h19
  2. [Plugin / XML] Problème plugin Eclipse avec JDOM
    Par kiko_18 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 12/02/2005, 13h55
  3. [JDOM] Parser avec JDOM
    Par GLDavid dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 11/08/2004, 22h40
  4. [JAR]Probleme compilation avec jdom
    Par ronaldgis dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 04/08/2004, 11h31
  5. [reseaux] exemple avec getopts
    Par perlaud dans le forum Programmation et administration système
    Réponses: 5
    Dernier message: 03/06/2004, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo