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 :

lire un xml avec JXPATH


Sujet :

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

  1. #1
    Candidat au Club
    Inscrit en
    Février 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut lire un xml avec JXPATH
    Salut,

    j´ai avec moi ce xml que j´essaie de lire a l´aide de jxpth.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0"?>
    <root>
    	<specVersion>
    		<major>1</major>
    		<minor>0</minor>
    	</specVersion>
    	<URLBase></URLBase>
    </root>

    et voici le code de debut:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private DocumentContainer Container;
     
    private void parseDeviceXml(URL descriptionURL)
    	{
    		Container = new DocumentContainer(descriptionURL);
    		Container.setIgnoringComments(true);
    		Container.setNamespaceAware(false);
    		JXPathContext context = JXPathContext.newContext(this);
    		Pointer rootpt = context.getPointer("Container/root");
            }
     
    public DocumentContainer getContainer() {
    		return Container;
    	}

    le probleme est que je recoit ce message:

    Exception in thread "main" org.apache.commons.jxpath.JXPathException: No pointer for xpath: Container/root

    je ne sais plus quoi faire pour resoudre le probleme.
    Besoin d´aide

    Merci d´avance.

  2. #2
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour.
    D'abord, on ne référence pas le Container dans l'XPath (Container/root/etc.)
    Ensuite, tu ne dois pas normalement utiliser un XmlDocumentContainer ?
    De cette façon:

    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
     
    class MyContainer {
        private Container locations = null;
        private URL descriptionURL;
     
        public MyContainer(URL descriptionURL){
              this.descriptionURL= descriptionURL;
        }
        public Container getLocations(){
            if (locations == null){
                locations = new XMLDocumentContainer(descriptionURL);
            }
            return locations;
        }
     }
     ...
     context = JXPathContext.newContext(new MyContainer(descriptionURL));
     ...
     String street = (String)context.getValue("/root");
    Comme dans la documentation de JXPath.
    Bonne chance.

Discussions similaires

  1. [DOM] lire du xml avec du javascript
    Par redah75 dans le forum Général JavaScript
    Réponses: 45
    Dernier message: 12/09/2008, 17h18
  2. Lire du xml avec shell
    Par rootdaoud dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 09/10/2007, 16h19
  3. [XML] [XSLT] Lire du XML avec du XSL
    Par koudjo dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 27/06/2006, 20h51
  4. Lire un xml avec javascript et generer code html ?
    Par zevince dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 04/04/2006, 11h45
  5. []générer et LIRE du xml avec vb: sélection d'un node
    Par chris21 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 19/09/2003, 13h14

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