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

Windows Presentation Foundation Discussion :

Afficher le code source d'une page Web


Sujet :

Windows Presentation Foundation

  1. #1
    Membre régulier Avatar de despeludo
    Inscrit en
    Janvier 2004
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 121
    Points : 83
    Points
    83
    Par défaut Afficher le code source d'une page Web
    Bonjour à tous !

    DAns une application WPF j'utilise un objet Frame me permettant de naviguer vers une page, mettons au hasard http://www.developpez.com.
    Jusque là pas de problème, la page s'affiche correctement dans l'objet Frame.
    Maintenant, je souhaiterais récupérer le code source de la page, de la même manière que la fonction Afficher -> Source d'Internet Explorer.
    Une idée ?

    Merci
    Un ordinateur fait ce qu'on lui demande, et c'est bien le problème.

  2. #2
    Membre régulier

    Étudiant
    Inscrit en
    Août 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2004
    Messages : 108
    Points : 124
    Points
    124
    Par défaut
    bonjour !

    Voici une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var client = new System.Net.WebClient();
    byte[] data = client.DownloadData("http://www.bing.com");
    MonTextBox.Text = Encoding.Default.GetString(data);
    A+

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    tu as la solution d'utiliser un webbrowser et d'utiliser le document du composant une fois le complet passé

    j'ai fait un exemple pour reccup les image d'allocine en fonction du nom d'un film
    voici le 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
            private void webbrowser1_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
            {
                System.Windows.Forms.HtmlDocument doc = this.webbrowser1.Document;
                System.Windows.Forms.HtmlElementCollection col = doc.All;
                eShearchMode mode = eShearchMode.film;
                FilmInfo film = new FilmInfo();
                film.isvalid = false;
                Console.WriteLine("------------------------------------------------------");
                try
                {
                    foreach (System.Windows.Forms.HtmlElement o in col)
                    {
                        if (mode == eShearchMode.film && o.TagName == "H2")
                        {
                            if (o.InnerText.StartsWith("Films ("))
                            {
                                mode = eShearchMode.tag;
                            }
                        }
                        if (mode == eShearchMode.tag && o.TagName == "A")
                        {
                            film.href = (o.DomElement as HTMLAnchorElementClass).href;
                            mode = eShearchMode.img;
                        }
                        if (mode == eShearchMode.img && o.TagName == "IMG")
                        {
                            film.img = (o.DomElement as HTMLImgClass).href;
                            mode = eShearchMode.title;
                        }
                        if (mode == eShearchMode.title && o.TagName == "A")
                        {
                            film.title = o.OuterText;
                            if (film.title.ToLower() == this.textBox1.Text.Trim().ToLower())
                            {
                                film.isvalid = true;
                                break;
                            }
                            else
                                mode = eShearchMode.tag;
                        }
                        //if (o.InnerHtml.Contains("<h2 class=\"SpBlocTitle\">Films </h2>"))
                        //{
                        //    int vv = 0;
                        //}
                        //if (o.OuterHtml.Contains("<h2 class=\"SpBlocTitle\">Films </h2>"))
                        //{
                        //    int vv = 0;
                        //}
                        Console.WriteLine(o.TagName);
                    }
                }
                catch (Exception ex)
                {
                    int cc = 0;
                }
                Console.WriteLine("-FIN-----------------------------------------------------");
                if (film.isvalid)
                {
                    tTitre.Text = film.title;
                    image1.Source = new BitmapImage(new Uri(film.img));
                    link1.NavigateUri = new Uri(film.href);
                }
                else
                {
                    tTitre.Text = "non trouvé";
                    image1.Source = null;
                }
                //string s = doc.Innet
            }
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

  4. #4
    Membre régulier Avatar de despeludo
    Inscrit en
    Janvier 2004
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 121
    Points : 83
    Points
    83
    Par défaut
    Effectivement NotANumber, on peut voir la chose comme ça, plus simplement.

    Merci.
    Un ordinateur fait ce qu'on lui demande, et c'est bien le problème.

  5. #5
    Membre régulier Avatar de despeludo
    Inscrit en
    Janvier 2004
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 121
    Points : 83
    Points
    83
    Par défaut
    ikeas, j'étais arrivé à quelquechose de similaire en cherchant un peu de mon côté, mais au final ça me convient moins que la solution de NotANumber, merci quand même de ta réponse
    Un ordinateur fait ce qu'on lui demande, et c'est bien le problème.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/03/2008, 11h04
  2. Réponses: 2
    Dernier message: 29/02/2008, 16h20
  3. comment charger le code source d'une page web avec dotnet ?
    Par gizgoz dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 14/05/2007, 20h51
  4. Ouvrir le code source d'une page WEB
    Par jacques13 dans le forum Général VBA
    Réponses: 1
    Dernier message: 17/12/2006, 08h01
  5. Récupérer le code source d'une page web
    Par glRaZ dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/12/2004, 09h16

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