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

C++ Discussion :

recherche balise spécifique dans un fichier HTML avec c++


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 100
    Points : 36
    Points
    36
    Par défaut recherche balise spécifique dans un fichier HTML avec c++
    Salut;
    je cherche une méthode pour parser un fichier HTML et récupérer le contenu d'une balise particulière en utilisant c++, avez vous une idée, svp.

    merci

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Salut,

    Tu récupères chaque lignes de ton fichier dans une string, et là tu recherche ta balise dans ta string avec une fonction de recherche dans les string ( comme find par exemple ), et quand tu trouves ta balise, tu sais que ton info est juste après...

    Infos sur les fonctions de traitement des strings : ici

    Amuses toi bien...

  3. #3
    Membre éprouvé Avatar de Steph_ng8
    Homme Profil pro
    Doctorant en Informatique
    Inscrit en
    Septembre 2010
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 677
    Points : 997
    Points
    997
    Par défaut
    Bonsoir.
    Si ton fichier d'entrée est écrit en XHTML plutôt qu'en HTML, tu peux utiliser une bibliothèque d'analyse du XML.
    • libxml2 (en C) ;
    • libxml++ ;
    • TinyXml...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 100
    Points : 36
    Points
    36
    Par défaut
    les balises que je cherche contient beaucoup de bla bla des dizaines de ligne, donc la solution de parcer chaque ligne ne suffira pas, mon fichier est programmé avec HTML simple.
    je ne sais pas si les expressions réguliers dans C++ sont les même que Qt, si oui, comment dire a mon programme de m'afficher le résultat d'un expression régulier.
    par exemple afficher tous ce qui est entre <td>(.*) </td>
    merci

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 25
    Points : 41
    Points
    41
    Par défaut
    Salut,
    Pour les expressions régulières, il n'y a pas de façon de faire en C++ ou Qt : il faut simplement utiliser une bibliothèque de regex.

    La nouvelle norme (C++11) inclut les regex dans la bibliothèque standard, mais celles-ci ne sont pas encore implémentés dans les compilateurs (en tout cas, pas dans GCC, pour Visual Studio je ne sais pas).

    La meilleure solution serait donc d'utiliser la bibliothèque Boost.Regex (http://www.boost.org/doc/libs/1_48_0...tml/index.html) sur laquelle sont basé les regex en C++11.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 100
    Points : 36
    Points
    36
    Par défaut
    et je peux trouver une solution avec Visual studio C++?, c-a-d extraction d'une balise spécifique d'un fichier HTML
    merci

  7. #7
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Si tu es sous visual studio, les regex sont implémentées depuis quelques versions déjà (de mémoire, depuis la 2008SP1 dans le namespace std::tr1, et en 2010 dans std).

    Tu peux peut-être lire http://blog.emmanueldeloget.com/inde...s-rationnelles pour voir comment les utiliser.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/02/2014, 17h09
  2. Réponses: 2
    Dernier message: 04/09/2010, 17h30
  3. Rechercher dans un fichier texte avec NAnt
    Par Grulf dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 22/06/2009, 14h42
  4. Chercher une balise dans un fichier html
    Par saramery dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2008, 02h07
  5. Réponses: 8
    Dernier message: 23/04/2008, 20h56

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