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 :

Jdom et racine a null [JDOM]


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 24
    Par défaut Jdom et racine a null
    Bonjour a tous ,
    S'il vous plait j'ai une execption de type "java.lang.NullPointerException" lors de l'execution de ma classe suivante .. Son code est comme suit
    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
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    class JDOM 
    {
        static org.jdom2.Document document;
     
        static Element racine;
     
        // On crée une instance de SAXBuilder
        void main(String[] args) {
            // On crée une instance de SAXBuilder
            SAXBuilder sxb = new SAXBuilder();
            try {
                // On crée un nouveau document JDOM avec en argument le fichier XML
                // Le parsing est terminé ;)
                document = sxb
                        .build(new File(
                                "C:\\Users\\Hela\\Desktop\\HelaEclipseJDK\\Etudedecas\\sequence2.uml"));
     
            } catch (Exception e) {
     
                e.printStackTrace();
                System.exit(0);
     
     
            }
            // On initialise un nouvel élément racine avec l'élément racine du
            // document.
            racine = document.getRootElement();
            //if (racine == null) throw new IllegalStateException("racine ne peut être null ");
     
     
        }
        String afficheALL() {
            String names=" "; 
     
            final Map<String, Namespace> namespaces = new HashMap<String, Namespace>();
     
            for (final Namespace ns : racine.getNamespacesIntroduced()) {
     
                namespaces.put(ns.getPrefix(), ns);
            }
            // On récupère tous les sous-éléments Boundary de l'élément et se
            // trouvant dans le namespace "profile"
     
            final List<Element> boundaryChildren = racine.getChildren("Boundary",
                    namespaces.get("profile"));
            for (Element e1 : boundaryChildren) {
                // System.out.println(e1.getAttributeValue("base_Lifeline"));
     
            }
     
            final List<Element> controlChildren = racine.getChildren("Control",
                    namespaces.get("profile_1"));
            for (Element e2 : controlChildren) {
                // System.out.println(e2.getAttributeValue("base_Lifeline"));
            }
     
            final List<Element> packagedElements = racine.getChild("Model",
                    namespaces.get("uml")).getChildren("packagedElement");
            // Les éléments <lifeline> du 1èr élement <packageElement>
            final List<Element> lifelineElements = packagedElements.get(0)
                    .getChildren("lifeline");
            // Maintenant on affiche les valeurs des attributs 'id' des élements
            // <lifeline>
            for (Element e : lifelineElements) {
     
            }
     
            final List<Element> messagesElements = packagedElements.get(0)
                    .getChildren("message");
            // Maintenant on affiche les valeurs des attributs 'id' des élements
            // <messages>
            System.out.println("la liste des messages est");
            for (Element e3 : messagesElements) {
     
     
                /* System.out .println(e3.getAttributeValue("id",
                       namespaces.get("xmi")));
                 */
                //str =  e3.getAttributeValue("name");
     
                /*StringBuffer liste;
               liste = new StringBuffer(str);*/
     
                //return liste;
                // String  v=null;
                String name=e3.getAttributeValue("name");  
                names=names+name; 
            }
     
     
            return names ; 
     
     
     
        }
        //fin afficheall()
        // comparaison();
     
    }//fin Jdom
    en debugant j'ai le document et la racine est a null ..je me demande pourquoi..?
    je vous remercie pour toute aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Par défaut
    Le fichier que tu charges, "sequence2.uml" il ressemble à quoi ?

  3. #3
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 24
    Par défaut Re
    Bonjour ,merci pour ta réponse et j’espère que tu m'aide d'avantage ...
    c'est un fichier XML le voila:
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:profile="http:///schemas/profile/_VdrBYKs9EeGRu5yDYs27TA/0" xmlns:profile_1="http:///schemas/profile/_kGRpgKs9EeGRu5yDYs27TA/0" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xsi:schemaLocation="http:///schemas/profile/_VdrBYKs9EeGRu5yDYs27TA/0 model.profile.uml#_VdurwKs9EeGRu5yDYs27TA http:///schemas/profile/_kGRpgKs9EeGRu5yDYs27TA/0 model2.profile.uml#_kGRpgqs9EeGRu5yDYs27TA">
      <uml:Model xmi:id="_0uIMkKs9EeGRu5yDYs27TA" name="model">
        <packagedElement xmi:type="uml:Interaction" xmi:id="_0uNsIKs9EeGRu5yDYs27TA" name="Interaction1">
          <lifeline xmi:id="_1cxbQKs9EeGRu5yDYs27TA" name=":Operatorpanel" coveredBy="_cUxNUKtDEeGRu5yDYs27TA _znXxIqtDEeGRu5yDYs27TA _znd3watDEeGRu5yDYs27TA _znd3wKtDEeGRu5yDYs27TA"/>
          <lifeline xmi:id="_BFGJQKs-EeGRu5yDYs27TA" name=":ATM" coveredBy="_cUybcatDEeGRu5yDYs27TA _iMM6wKtDEeGRu5yDYs27TA _iMOI4KtDEeGRu5yDYs27TA _phAlIKtDEeGRu5yDYs27TA _01ZqgatDEeGRu5yDYs27TA _01a4oatDEeGRu5yDYs27TA _01a4oKtDEeGRu5yDYs27TA"/>
          <lifeline xmi:id="_PbrNQKs-EeGRu5yDYs27TA" name=":ConnectiontoBank" coveredBy="_phBzQKtDEeGRu5yDYs27TA _2JRGIKtDEeGRu5yDYs27TA _2JSUQatDEeGRu5yDYs27TA _2JSUQKtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:ExecutionOccurrenceSpecification" xmi:id="_znXxIqtDEeGRu5yDYs27TA" name="ActionExecSpecStart" covered="_1cxbQKs9EeGRu5yDYs27TA" event="_znXxIKtDEeGRu5yDYs27TA" execution="_znd3wKtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:ExecutionOccurrenceSpecification" xmi:id="_2JRGIKtDEeGRu5yDYs27TA" name="ActionExecSpec1Start" covered="_PbrNQKs-EeGRu5yDYs27TA" event="_2JP4AKtDEeGRu5yDYs27TA" execution="_2JSUQKtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:ExecutionOccurrenceSpecification" xmi:id="_01ZqgatDEeGRu5yDYs27TA" name="ActionExecSpec0Start" covered="_BFGJQKs-EeGRu5yDYs27TA" event="_01ZDcKtDEeGRu5yDYs27TA" execution="_01a4oKtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:ActionExecutionSpecification" xmi:id="_znd3wKtDEeGRu5yDYs27TA" name="ActionExecSpec" covered="_1cxbQKs9EeGRu5yDYs27TA" start="_znXxIqtDEeGRu5yDYs27TA" finish="_znd3watDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:ActionExecutionSpecification" xmi:id="_2JSUQKtDEeGRu5yDYs27TA" name="ActionExecSpec1" covered="_PbrNQKs-EeGRu5yDYs27TA" start="_2JRGIKtDEeGRu5yDYs27TA" finish="_2JSUQatDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:ActionExecutionSpecification" xmi:id="_01a4oKtDEeGRu5yDYs27TA" name="ActionExecSpec0" covered="_BFGJQKs-EeGRu5yDYs27TA" start="_01ZqgatDEeGRu5yDYs27TA" finish="_01a4oatDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_cUxNUKtDEeGRu5yDYs27TA" name="MessageSend" covered="_1cxbQKs9EeGRu5yDYs27TA" event="_cUti8KtDEeGRu5yDYs27TA" message="_cUm1QKtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_cUybcatDEeGRu5yDYs27TA" name="MessageRecv" covered="_BFGJQKs-EeGRu5yDYs27TA" event="_cUybcKtDEeGRu5yDYs27TA" message="_cUm1QKtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:ExecutionOccurrenceSpecification" xmi:id="_znd3watDEeGRu5yDYs27TA" name="ActionExecSpecFinish" covered="_1cxbQKs9EeGRu5yDYs27TA" event="_znXxIatDEeGRu5yDYs27TA" execution="_znd3wKtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_iMM6wKtDEeGRu5yDYs27TA" name="MessageSend0" covered="_BFGJQKs-EeGRu5yDYs27TA" event="_iMMTsKtDEeGRu5yDYs27TA" message="_iMLFkKtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_iMOI4KtDEeGRu5yDYs27TA" name="MessageRecv0" covered="_BFGJQKs-EeGRu5yDYs27TA" event="_iMNh0KtDEeGRu5yDYs27TA" message="_iMLFkKtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_phAlIKtDEeGRu5yDYs27TA" name="MessageSend1" covered="_BFGJQKs-EeGRu5yDYs27TA" event="_pg_-EKtDEeGRu5yDYs27TA" message="_pg-v8KtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:ExecutionOccurrenceSpecification" xmi:id="_01a4oatDEeGRu5yDYs27TA" name="ActionExecSpec0Finish" covered="_BFGJQKs-EeGRu5yDYs27TA" event="_01ZqgKtDEeGRu5yDYs27TA" execution="_01a4oKtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_phBzQKtDEeGRu5yDYs27TA" name="MessageRecv1" covered="_PbrNQKs-EeGRu5yDYs27TA" event="_phBMMKtDEeGRu5yDYs27TA" message="_pg-v8KtDEeGRu5yDYs27TA"/>
          <fragment xmi:type="uml:ExecutionOccurrenceSpecification" xmi:id="_2JSUQatDEeGRu5yDYs27TA" name="ActionExecSpec1Finish" covered="_PbrNQKs-EeGRu5yDYs27TA" event="_2JQfEKtDEeGRu5yDYs27TA" execution="_2JSUQKtDEeGRu5yDYs27TA"/>
          <message xmi:id="_cUm1QKtDEeGRu5yDYs27TA" name="switchoff()" messageSort="asynchCall" receiveEvent="_cUybcatDEeGRu5yDYs27TA" sendEvent="_cUxNUKtDEeGRu5yDYs27TA"/>
          <message xmi:id="_iMLFkKtDEeGRu5yDYs27TA" name="performshutdown()" messageSort="asynchCall" receiveEvent="_iMOI4KtDEeGRu5yDYs27TA" sendEvent="_iMM6wKtDEeGRu5yDYs27TA"/>
          <message xmi:id="_pg-v8KtDEeGRu5yDYs27TA" name="closeconnection()" messageSort="asynchCall" receiveEvent="_phBzQKtDEeGRu5yDYs27TA" sendEvent="_phAlIKtDEeGRu5yDYs27TA"/>
        </packagedElement>
        <packagedElement xmi:type="uml:SendOperationEvent" xmi:id="_cUti8KtDEeGRu5yDYs27TA" name="SendOperationEvent"/>
        <packagedElement xmi:type="uml:ReceiveOperationEvent" xmi:id="_cUybcKtDEeGRu5yDYs27TA" name="ReceiveOperationEvent"/>
        <packagedElement xmi:type="uml:SendOperationEvent" xmi:id="_iMMTsKtDEeGRu5yDYs27TA" name="SendOperationEvent0"/>
        <packagedElement xmi:type="uml:ReceiveOperationEvent" xmi:id="_iMNh0KtDEeGRu5yDYs27TA" name="ReceiveOperationEvent0"/>
        <packagedElement xmi:type="uml:SendOperationEvent" xmi:id="_pg_-EKtDEeGRu5yDYs27TA" name="SendOperationEvent1"/>
        <packagedElement xmi:type="uml:ReceiveOperationEvent" xmi:id="_phBMMKtDEeGRu5yDYs27TA" name="ReceiveOperationEvent1"/>
        <packagedElement xmi:type="uml:ExecutionEvent" xmi:id="_znXxIKtDEeGRu5yDYs27TA" name="ExecutionEvent"/>
        <packagedElement xmi:type="uml:ExecutionEvent" xmi:id="_znXxIatDEeGRu5yDYs27TA" name="ExecutionEvent0"/>
        <packagedElement xmi:type="uml:ExecutionEvent" xmi:id="_01ZDcKtDEeGRu5yDYs27TA" name="ExecutionEvent1"/>
        <packagedElement xmi:type="uml:ExecutionEvent" xmi:id="_01ZqgKtDEeGRu5yDYs27TA" name="ExecutionEvent2"/>
        <packagedElement xmi:type="uml:ExecutionEvent" xmi:id="_2JP4AKtDEeGRu5yDYs27TA" name="ExecutionEvent3"/>
        <packagedElement xmi:type="uml:ExecutionEvent" xmi:id="_2JQfEKtDEeGRu5yDYs27TA" name="ExecutionEvent4"/>
        <profileApplication xmi:id="_9GXp4Ks9EeGRu5yDYs27TA">
          <eAnnotations xmi:id="_9HV6QKs9EeGRu5yDYs27TA" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <references xmi:type="ecore:EPackage" href="model.profile.uml#_VdurwKs9EeGRu5yDYs27TA"/>
          </eAnnotations>
          <appliedProfile href="model.profile.uml#_-aARcKs8EeGRu5yDYs27TA"/>
        </profileApplication>
        <profileApplication xmi:id="_9HV6Qas9EeGRu5yDYs27TA">
          <eAnnotations xmi:id="_9H5T4Ks9EeGRu5yDYs27TA" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <references xmi:type="ecore:EPackage" href="model2.profile.uml#_kGRpgqs9EeGRu5yDYs27TA"/>
          </eAnnotations>
          <appliedProfile href="model2.profile.uml#_aisacKs9EeGRu5yDYs27TA"/>
        </profileApplication>
        <profileApplication xmi:id="_9H5T4as9EeGRu5yDYs27TA">
          <eAnnotations xmi:id="_9IUxsKs9EeGRu5yDYs27TA" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <references xmi:type="ecore:EPackage" href="model3.profile.uml#_wSNa4qs9EeGRu5yDYs27TA"/>
          </eAnnotations>
          <appliedProfile href="model3.profile.uml#_n1peQKs9EeGRu5yDYs27TA"/>
        </profileApplication>
      </uml:Model>
      <profile:Boundary xmi:id="_-x5-oKs9EeGRu5yDYs27TA" base_Lifeline="_1cxbQKs9EeGRu5yDYs27TA"/>
      <profile:Boundary xmi:id="_UJUoIKs-EeGRu5yDYs27TA" base_Lifeline="_PbrNQKs-EeGRu5yDYs27TA"/>
      <profile_1:Control xmi:id="_ZQCqUKs-EeGRu5yDYs27TA" base_Lifeline="_BFGJQKs-EeGRu5yDYs27TA"/>
    </xmi:XMI>

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Par défaut
    Ton code, il fonctionne ? Sinon on retrouve bien la racine :

    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
    class Jdom {
    	static Document document;
    	static Element racine;
    	public static void main(String[] args) {
    		SAXBuilder sxb = new SAXBuilder();
    		try {
    			document = sxb.build(new File("sequence2.uml"));
    		} catch (Exception e) {
    			e.printStackTrace();
    			System.exit(0);
    		}
    		racine = document.getRootElement();
    		System.out.print(racine);
    	}
    }// fin Jdom

  5. #5
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 24
    Par défaut Re : Aide
    je vais te donner le details en fait :
    j'ai codé ma classe JDOM dont je vous ai montré precedement toute seule..elle fonctionne normalment et accede a la racine et aux noeuds du documents mais ..
    je veux faire une petite interface Gui de sorte que j'ai une fenetre contenant un JTextField et un Jbouton..je veux si je clique sur le bouton elle m'affiche la liste des messages qui est un resultat de la méthode AfficheAll() de la classe JDOM..
    dans ce bouton je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     public void actionPerformed(ActionEvent arg0) {
     
                    JDOM j =new JDOM();
     
                    String  v1=j.afficheALL();
     
                    textField.setText(v1);
     
     
                }
    en execution la fenetre s'ouvre mais rien n'est affiché dans mon textField et l'execption de nullpoiter bloque l'affichage
    tu me comprends?

  6. #6
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Bonjour,
    quand tu fais String v1=j.afficheALL(); il faut savoir que la méthode main() n'est pas exécutée ! Donc racine sera toujours null, c'est logique.
    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

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

Discussions similaires

  1. The data "null" is not legal for a JDOM attribute
    Par Smix007 dans le forum JDBC
    Réponses: 7
    Dernier message: 04/04/2008, 17h18
  2. [VB6] [BDD] Recordset et champ égal à Null
    Par Gr|ppen dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/03/2003, 10h00
  3. "ALTERER" une col. NULL en NOT NULL - Int
    Par Gandalf24 dans le forum SQL
    Réponses: 2
    Dernier message: 28/12/2002, 00h07
  4. Racine carrée
    Par SteelBox dans le forum Mathématiques
    Réponses: 5
    Dernier message: 23/11/2002, 17h15
  5. [VB6] Racine carrée + arrondi
    Par Krys29 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/10/2002, 13h19

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