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 :

Plantage de la méthode selectNodeList ? [DOM]


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
    Juin 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Par défaut Plantage de la méthode selectNodeList ?
    Bonjour,

    Je parse un fichier XML avec la méthode selectNodeList de DOM, j'ai le code suivant (en simplifié, il manque les try/catch) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    import org.w3c.dom.*;
     
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
     
    Document document = builder.parse(path);
     
    NodeList nodeListDegree = XPathAPI.selectNodeList(document, "Chaine1");
    NodeList nodeListDate = XPathAPI.selectNodeList(document, "Chaine2");
    NodeList nodeListQuaternion = XPathAPI.selectNodeList(document, "Chaine3");
    NodeList nodeListCoeffs = XPathAPI.selectNodeList(document, "Chaine4");
    NodeList nodeListDelay = XPathAPI.selectNodeList(document, "Chaine5");
    Les Chaine1... sont les chemins vers la balise que je cherche à récupérer.

    Ca marchait très bien jusqu'ici, mais je tombe sur un cas où le fichier XML provoque un plantage : Les deux premières listes de noeuds sont OK, et à la 3ème, on ne sort jamais de la méthode selectNodeList.

    Il n'y a a priori pas d'erreur sur la chaine de caractères à rechercher, car si je modifie l'ordre des lignes, le plantage se produit aussi après les 2 premières NodeList...

    Je vois pas du tout le problème. Est-ce que quelqu'un a une idée ?

    Merci !

  2. #2
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Par défaut
    Bon... moitié de bonne nouvelle... ça passe sous Linux, alors que ça plante sous Windows. Il ne reste plus qu'à trouver pourquoi. Du coup, ça n'a peut-être pas tout avoir avec ce bout de code

  3. #3
    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
    Hmm. Peut-être une erreur grave. Il se passe quoi si tu entoures tout ça de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    try {
     
     // ton code
     
    } catch(Throwable t) {
      t.printStackTrace();
    }
    ?

    (Note : en principe il faut jamais faire ça dans du code en production. Error et Throwable ne se catchent pas pour un oui ou pour un non. Mais pour des besoins de debugging à l'aide de gens qui n'ont pas ton ordi devant les yeux, ça peut servir.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Par défaut
    Salut,

    J'ai le fin mot de l'histoire... Après essai sur un autre PC (par hasard), il semble que ce soit la version du JRE qui soit en cause.

    Sous Linux, j'ai la 1.6.0_25, ça passe.
    Sous Windows : 1.6.0_13, 1.6.0_14, ça plante. 1.6.0_18, 1.6.0_26, ça passe (ce sont les versions que j'ai sous la main).

    Voilà, et merci pour la réponse

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

Discussions similaires

  1. Plantage de la méthode Ajax
    Par thor76160 dans le forum jQuery
    Réponses: 1
    Dernier message: 27/12/2011, 13h48
  2. Réponses: 5
    Dernier message: 02/10/2009, 13h39
  3. [Kylix] Plantage IDE Kylix3/Mandrake 9.0
    Par OmicroN dans le forum EDI
    Réponses: 3
    Dernier message: 28/01/2003, 23h04
  4. Probleme d'impression avec la méthode TForm->Print()
    Par Kid Icarus dans le forum C++Builder
    Réponses: 13
    Dernier message: 31/07/2002, 14h26
  5. Cryptage en C selon la méthode de césat
    Par shenron dans le forum C
    Réponses: 2
    Dernier message: 31/05/2002, 08h22

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