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 un lien dans une balise [XML]


Sujet :

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

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 51
    Points : 30
    Points
    30
    Par défaut Récupérer un lien dans une balise [XML]
    Bonjour,

    J'aimerai récupérer le lien qui se trouve dans une balise dans un document XML.
    Par exemple, j'aimerai récupérer le lien de la balise suivante :

    <content type="html">user89: http://www.planbelgique.be/uploads/1245408962-blabla225.jpg</content>


    Comment dois-je m'y prendre ? Pour l'instant, je fais un getTextContent, puis je récupère l'URL en cherchant un début d'URL ("http://") et en m'arrêtant à la fin de celle-ci. Je ne pense cependant pas que ça soit la méthode la plus efficace .. Peut être qu'une méthode de la classe Element ou que sais-je pourrait me faire ça plus proprement ..


    Merci d'avance,

    Bonne journée

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Go ici avec le paragraphe 3.3 Filtrer les éléments.

    Tu fais un getChild() du nom de ta balise.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    ou avec xpath si tu le peux

    "content[@type='html']"

    te remontra tout les element content avec comme type html

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par sikin1989 Voir le message
    Pour l'instant, je fais un getTextContent, puis je récupère l'URL en cherchant un début d'URL ("http://") et en m'arrêtant à la fin de celle-ci. Je ne pense cependant pas que ça soit la méthode la plus efficace .. Peut être qu'une méthode de la classe Element ou que sais-je pourrait me faire ça plus proprement ..
    Ben ça dépend, tu le fais sur quoi, le getTextContent() ?

    Parce que tu sais, le coup de user89 suivi d'un deux-point suivi d'un espace, ça c'est plus du XML. Il y a plus rien à faire, à partir de là c'est à toi de parser.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 51
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Ben ça dépend, tu le fais sur quoi, le getTextContent() ?

    Parce que tu sais, le coup de user89 suivi d'un deux-point suivi d'un espace, ça c'est plus du XML. Il y a plus rien à faire, à partir de là c'est à toi de parser.
    Dans mon programme, j'ai une NodeList des "content". J'en prend le premier élément (Element e) et je fais un e.getTextContent(). Cette méthode me renvoie un string qui vaut, dans le cas présenté ci-dessus, "user89: http://www.planbelgique.be/uploads/1245408962-blabla225.jpg".
    Puisque ce n'est plus du XML, je suis donc forcé de parser ça moi même. C'est bien ça ? Il n'existe donc pas de méthode à proprement parlé permettant de récupérer une URL soit dans un String, soit dans une Node ou un Element ?


    @robin56 & rolfone : Il me semble qu'en faisant ce que vous m'indiquez, je vais récupérer "user89: http://www.planbelgique.be/uploads/1245408962-blabla225.jpg" et non "http://www.planbelgique.be/uploads/1245408962-blabla225.jpg". Me trompe-je ?




    EDIT : Et si je dois bel et bien parser ça moi même, est-ce que je m'y prend +/- bien ou dois-je faire autrement ?

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par sikin1989 Voir le message
    Puisque ce n'est plus du XML, je suis donc forcé de parser ça moi même. C'est bien ça ?
    Oui.

    Citation Envoyé par sikin1989 Voir le message
    Il n'existe donc pas de méthode à proprement parlé permettant de récupérer une URL soit dans un String,
    Pas avec les outils XML, mais avec une regex, à la rigueur... Chercher http://.*$ avec un Matcher et un find()...

    Citation Envoyé par sikin1989 Voir le message
    soit dans une Node ou un Element ?
    Il n'y a plus tout ça. Du texte c'est du texte.

    Citation Envoyé par sikin1989 Voir le message
    @robin56 & rolfone : Il me semble qu'en faisant ce que vous m'indiquez, je vais récupérer "user89: http://www.planbelgique.be/uploads/1245408962-blabla225.jpg" et non "http://www.planbelgique.be/uploads/1245408962-blabla225.jpg". Me trompe-je ?
    Non. Ils n'avaient pas bien saisi ton problème.

    Citation Envoyé par sikin1989 Voir le message
    EDIT : Et si je dois bel et bien parser ça moi même, est-ce que je m'y prend +/- bien ou dois-je faire autrement ?
    Je trouve que c'est pas mal. De toute façon si ta méthode risque de ne pas marcher avec ce contenu, alors aucune méthode n'est fiable.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 51
    Points : 30
    Points
    30
    Par défaut
    Un tout grand merci !

  8. #8
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par sikin1989 Voir le message
    [...]
    @robin56 & rolfone : Il me semble qu'en faisant ce que vous m'indiquez, je vais récupérer "user89: http://www.planbelgique.be/uploads/1245408962-blabla225.jpg" et non "http://www.planbelgique.be/uploads/1245408962-blabla225.jpg". Me trompe-je ?
    Ah bah oui tu as totalement raison. Moi je pensais ton problème dans la récupération du contenu de la balise XML. Pour la suite, il faut parser.

    L'essentiel c'est que tu ais trouvé ton bonheur.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/01/2010, 19h17
  2. [DOM4J] Récupérer un id dans une balise XML
    Par tiph02 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 15/01/2009, 16h16
  3. [RegEx] comment récupérer un lien dans une chaine de caractère
    Par matonisuka dans le forum Langage
    Réponses: 4
    Dernier message: 25/05/2007, 15h36
  4. [XML][PHP]Extraire balise img dans une balise xml
    Par thierry232323 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/10/2006, 13h25
  5. [DOM] récupérer le code dans une balise
    Par mavvv dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/03/2006, 08h27

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