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 :

Récupérer le contenu d'une balise imbriquée


Sujet :

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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Récupérer le contenu d'une balise imbriquée
    Bonjour,

    Voila j'ai un petit probleme pour récupérer le contenu d'une balise imbriquée dans une autre
    Par exemple :

    <descriptif>tototototo <b> tototoot </b> fkdlsjfkdjk </descriptif>

    Je voudrais récupérer l'ensemble du contenu de la balise descriptif mais quand j'utilise les fonctions de JAVA je ne récupère que :
    - tototototo
    - fkdlsjfkdjk

    et pas ce qu'il y a dans la balise <b>. En plus je génère un fichier html donc il faudrait que je récupère aussi le nom des balises pour afficher mon texte en gras.
    En gros il faudrait que je puisse récupérer la ligne :

    tototototo <b> tototoot </b> fkdlsjfkdjk

    A l'aide !!! Merci bcq a tous

    chouxe

  2. #2
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Qu'utilises-tu pour recuperer ce qu'il y a dans ta balise?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    J'utilise la methode
    - public void characters(char[] ch, int start, int lenght)

    puis ensuite dans le endElement(...)
    J'affiche le contenu de la balise quand je trouve une balise fermante </descriptif>


  4. #4
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    C'est totalement normal que tu ne récupères pas le contenu de <b>. Je suppose que tu ne considères les caractères que lorsque la balise en cours est <descriptif>.
    Pour pouvoir récupérer l'ensemble, il faut que tu gères un booléen qui te permet de savoir si on est dans <descriptif>. Donc tu mets le booléen à faux au départ, à vrai au début de <descriptif> et à faux à la fin de </descriptif>. Il ne te reste plus dans la méthode characters qu'à récupérer le contenu, et à reconstruire la chaîne (il te faudra reconstruire notamment les balises <b>).

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Merci bcq pour cette reponse,
    maintenant j'arrive bien a récupérer tout le contenu mais pas a reconstruire la chaine vaec les balises

    voici mon code :

    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
     public void startElement(String uri,String localname, String qname, Attributes attributes)
        {
     
    	if(estDansDescriptif){
    		if(qname.equals("html:b"))
    			((Sujet)listeSujets.lastElement()).setDescriptif("<b>");
    	}
     
            if(qname.equals("descriptif")){
    		estDansDescriptif=true;
    	}
      }
     
     
    public void characters(char[] ch, int start, int lenght)
        {
     
    	if(estDansDescriptif){
    		res += new String(ch,start,lenght);
    	        res = res.trim();
    	}
     
      }
     
     public void endElement(String uri, String localName, String qname)
        {
    	if(estDansDescriptif){
    		((Sujet)listeSujets.lastElement()).setDescriptif(res)
    	    if(qname.equals("html:b"))
    		((Sujet)listeSujets.lastElement()).setDescriptif("</b>");
     
    	   res="";
       }
    Le probleme qui se pose c qu'il me mets tout en gras jusqu'a trouvé une balise </b>. Il me mets en fait ma balise ouvrante <b> au debut du contenu récupéré et pas au niveau de la balise <b> du doc xml.

  6. #6
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Pense aux balises CODE

    Euh ... j'avoue que je n'ai pas trop compris ta gestion avec la listeSujet et ton setDescriptif ... Pourquoi tu ne fait pas un
    et
    Enfin, n'oublie pas de remettre estDansDescriptif à false à la fin d'un descriptif ...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Merci bcq pour tes conseils, j'ai reussi à obtenir le résultat souhaité. Tu m'as sauvé la vie

    Merci encore

    chouxe

  8. #8
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    De rien !

    N'oublie pas de marquer le problème comme résolu

Discussions similaires

  1. [AJAX] Comment récupérer le contenu d'une balise
    Par MicaelFelix dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/01/2007, 04h08
  2. Récupérer le contenu d'une balise en php
    Par Mister Nono dans le forum Langage
    Réponses: 2
    Dernier message: 11/10/2006, 19h52
  3. Réponses: 12
    Dernier message: 20/09/2006, 09h31
  4. [Tableaux] Récupérer le contenu d'une balise HTML
    Par StarNab dans le forum Langage
    Réponses: 2
    Dernier message: 01/09/2006, 12h38
  5. [DOM] Récupérer le contenu d'une balise donnée
    Par mimi31110 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 26/06/2006, 23h46

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