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 :

tester existence d un attribut


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2009
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 194
    Par défaut tester existence d un attribut
    Bonjour,

    J aimerai tout simplement savoir comment en jdom, tester l existence ou non d un attribut dans une balise.
    J ai foouille un peu je ne suis tombe que sur un ".hasAttribute" mais qui n apparait pas.
    Je precises quer je travail sur des elements

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public  property(Element property){
    		property_name = property.getAttributeValue("name");
    		property_type = property.getAttributeValue("type");
    		property_valeur = property.getValue();
    		property_option = property.getAttributeValue("option");
    mais je dois avant tout verifier que j ai bien un attribut option.
    Quelqu un a une idee?
    merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Hello
    http://www.jdom.org/docs/apidocs/org/jdom/Element.html
    getAttribute renvoie donc null quand l'attribut n'existe pas.

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2009
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 194
    Par défaut
    ok merci, cependant je n arrive pas a resoudre mon probleme.

    voici le bout de mon main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Layer_object courant = new Layer_object(layer);
    Je creer donc un objet "Layer_objetct", qui doit contenir des objets "property"
    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
     
    int i=0;
    		while(i<properties.size()){
    			property prop = new property(properties.get(i));
    			String x = prop.property_name+" "+prop.property_option;
     
    			if (list_property_name.contains(x)){
    				System.out.println("DOUBLON de Property :"+layer_name+" ==> "+x);
    				System.exit(0);
    			}else{
    				list_property_name.add(x);
    			}
    			i++;
     
     
     
    		}
    Je teste donc a la creation de l objet si il y a des doublons
    Voici mon objet property
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class property {
     
    	public String property_name;
    	public String property_type;
    	public String property_valeur;
    	public String property_option ;
     
    	public  property(Element property){
    		property_name = property.getAttributeValue("name");
    		property_type = property.getAttributeValue("type");
    		property_valeur = property.getValue();
    		property_option = property.getAttributeValue("option");
    J ai essaye plusieurs choses differentes, mais a chaque fois j ai ca comme erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Exception in thread "main" java.lang.NullPointerException
    	at property.<init>(property.java:18)
    	at Layer_object.<init>(Layer_object.java:30)
    	at Main.main(Main.java:67)
    Voila, sachant que donc "property_option" n existe pas forcement, puisaue l attribut "option" n existe pas forcement.
    je ne dois pas avoir la bonne syntaxe :/
    Une idee ? ^^

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    D'après ta stacktrace, le NullPointerException se trouve dans le constructeur, ou dans l'initialisation de ses membres.

    D'après le code que tu nous montres, les membres ne sont pas initialisés, donc c'est dans le constructeur.

    Avec ce que tu nous montres de ce constructeur, que l'attribut "option" existe ou pas, ça ne fera pas de NullPointerException. Ça en fera si le Element que tu passes dans ce constructeur est null.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2009
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 194
    Par défaut
    Alors j ai regarde un peu, et ce que je ne comprend pas c est que lorsque je fais ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    System.out.println("1");
    			System.out.println(layer1); //mon 1er element
    			System.out.println(layer2); //mon 2eme element
    			System.out.println("2");
    			System.out.println(list_layer_ref_string.size()); //taille de la liste des noms que je dois retrouver
    			System.out.println(i); // Compteur de ma boucle
    			System.out.println(list_layer_ref_string.get(i)); //Nom de ce que je cherche
     
    			property_confront(layer1,layer2,root,root2);	//Creation de mon objet
     
    			System.out.println("3");
    J ai ceci comme erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    1
    [Element: <layer/>]
    [Element: <layer/>]
    2
    59
    24
    M4X_FINAL
    Exception in thread "main" java.lang.NullPointerException
    	at Main.property_confront(Main.java:182)
    	at Main.main(Main.java:89)
    Donc mon Element en parametre pour creer mon objet existe, il n est pas null
    Ou est le souci alors?

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    J'en sais rien, moi. En ce qui me concerne il n'y a pas de rapport entre ce code et le précédent. Je vois pas ce que c'est censé vérifier.

    J'ai dit que dans l'exemple précédent, et à supposer que le code du constructeur a été donné en entier, tu appelles le constructeur de property() avec un Element à null.
    Je vois pas en quoi ce que tu nous montres là a un quelconque rapport.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [XL-2010] Tester l'existence d'un attribut XML
    Par doowy38 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/03/2013, 14h53
  2. [Toutes versions] Tester l'existence d'un attribut pour un Node HTML
    Par decour dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/08/2012, 07h17
  3. Tester existence Attribut xml
    Par inspecteur rick dans le forum Débuter
    Réponses: 2
    Dernier message: 23/12/2009, 15h43
  4. [XSLT]Tester existence d'un attribut
    Par c+cool dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 28/06/2006, 09h49
  5. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30

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