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++/CLI Discussion :

Récupérer des mots dans un fichier html


Sujet :

C++/CLI

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 8
    Points
    8
    Par défaut Récupérer des mots dans un fichier html
    Bonjour
    J'ai un souci

    J'ai une page html comme celui ci :
    Code html : 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
     
    <!DOCTYPE html
      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
       <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          <link rel="stylesheet" href="/repertoire1/css/defaulthtml/reset.css" type="text/css" />
          <link xmlns="" rel="stylesheet" href="/repertoire1/css/defaulthtml/default_theme.css"
                type="text/css"></link><script type="text/javascript">
     
            <title>Test HTML</title>
      </head>
    <body>
             <div id="alert"></div>
             <div class="data">
                <div class="line-item">mot1 mot2 mot3 mot 4 mot5 mot6  <br />mot7 mot8 mot9
                 </div>
             </div>
    <div class="footer"><span class="segmented"><a href="#" id="2" class="button enabled">Arreter</a><a href="#" id="3" class="button enabled">Annuler</a></span></div>
    <script type="text/javascript" src="/repertoire1/test/.js"></script>
    <script type="text/javascript">
                $(document).ready(function () {
                    init();
                });
            </script></body>
    </html>

    J'ai enregistre cette page dans un fichier xml(ça peut être aussi fichier .txt rien change pour moi). je parcours le fichier xml et je dois seulement récupérer les mot un par un tout en nettoyant les balise html comme celui ci :

    mot 1
    mot2
    mot3
    La question est :comment récupérer les mots un par un SVP.

    Et je dois faire ça en c++/cli.

    Merci en avance.

  2. #2
    Membre chevronné
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    861
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 861
    Points : 2 206
    Points
    2 206
    Par défaut
    Pour ce qui est du parsing html, plusieurs solutions s'offrent a toi : soit tu telecharges une lib pour parser ton fichier, soit tu te fais un petit truc a la main. Une fois que t'as recupere ce que contenait la balise voulue, il te suffit de parser encore une fois... J'ai fait un fichier header avec une fonction split ici, tu n'as qu'a regarder comment j'ai fait pour avoir un exemple.

  3. #3
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Hello,

    Les regex font parti du standard maintenant (toujours pas fonctionnel sur gcc il me semble, mais ça ne devrait pas tarder), voir ici (C++11), ou ici(C++/CLI).

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    imperio et Iradrille merci pour vos réponses rapide.

    Ce code j'ai réussi a appliquer dans mon programme et ça fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    String^ delimStr = " ,.:\t";
       Console::WriteLine( "delimiter : '{0}'", delimStr );
       array<Char>^ delimiter = delimStr->ToCharArray( );
       array<String^>^ words;
       String^ line = "one\ttwo three:four,five six seven";
     
       Console::WriteLine( "text : '{0}'", line );
       words = line->Split( delimiter );
       Console::WriteLine( "Number of Words : {0}", words->Length );
       for (int word=0; word<words->Length; word++)
          Console::WriteLine( "{0}", words[word] );
    Une dernier question SVP. Comment parcourir un fichier xml jusqu’à dixième ligne et quand on est a dixième ligne supprimer les 10 premiers caractères et le <br/> qui se trouve juste au milieu de tous les mot qui je veux récupérer?Parce que avec le code au dessus si je mets le <br/> comme délimiteur il supprime aussi tous les lettres br qui se trouve dans les mots qui je veux récupérer. Je connais plusieurs méthode pour parcourir un fichier xml mais parcourir jusqu'à telle ligne je sais pas faire.
    Example:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div class="line-item">mot1 mot2 mot3 mot4 mot5 mot6  <br />mot7 mot8 mot9
                 </div>
    Merci en avance

  5. #5
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 266
    Points : 6 688
    Points
    6 688
    Billets dans le blog
    2
    Par défaut
    Il y a un sous-forum dédié au c++/cli: http://www.developpez.net/forums/f38...l-cpp/cpp-cli/
    Il est bien caché, j'en conviens

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    c y est c'est résolu avec le streamReader

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            //Parcours du fichier xml 
    	String^ fileName = "C:\\toto/tata.xml";
    				StreamReader^ sr = gcnew StreamReader(fileName);
    	//et on prend la ligne que l'on veut pour le mettre ds le label
    		 String^ UneLigne;
    		for (int i=0;i<25;i++)
    		{
    			UneLigne = sr->ReadLine();
     
    		}
    		label1->Text=UneLigne;
                    sr->Close();

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

Discussions similaires

  1. Récupérer des info dans une page html
    Par DORBRITZ dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 06/03/2008, 12h13
  2. récupérer des données dans un fichier
    Par pymouse dans le forum Langage
    Réponses: 7
    Dernier message: 19/06/2006, 18h43
  3. Réponses: 2
    Dernier message: 16/01/2006, 20h34
  4. Récupérer des données dans une page HTML
    Par newdelirium dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2005, 20h18
  5. Comment changer des mots dans un fichier?
    Par ptitbonum dans le forum Linux
    Réponses: 5
    Dernier message: 08/04/2004, 00h42

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