Parser html avec htmlagilitypack et générer du xml

elhayel - Modifié par Whismeril le 31/03/2015 à 23:26
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 - 7 avril 2015 à 12:15
Bonjour,
j'ai un problème j'arrive pas a générer un fichier xml,mon but de parser un page web avec htmlagilitypack et après générer du xml voilà le code
 protected void Page_Load(object sender, EventArgs e)
        {
            lb1.Text = getcodehtml();

        }
        private string getcodehtml()
        {
            var webGet = new HtmlWeb();
            var doc = webGet.Load("https://www.avito.ma/fr/casablanca/t%C3%A9l%C3%A9phones-%C3%A0_vendre");
            HtmlNode ourNode = doc.DocumentNode.SelectSingleNode("//div[@class='item li-hover']");
        
            if (ourNode != null)
            {
                return ourNode.InnerHtml;
               
            }
            else
            {
                return "nothing found";
            }
        }


EDIT: Ajout de la coloration syntaxique.

1 réponse

cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
7 avril 2015 à 12:15
Bonjour,

dans le lien que tu nous donnes la classe 'item li-hover' n'est pas unique,

tu dois donc prendre SelectNodes pour récupérer la collection.

var webGet = new HtmlWeb();
            var doc = webGet.Load("https://www.avito.ma/fr/casablanca/t%C3%A9l%C3%A9phones-%C3%A0_vendre");
            HtmlNodeCollection ourNodes = doc.DocumentNode.SelectNodes("//div[@class='item li-hover']");
            foreach (HtmlNode ourNode in ourNodes) {
                var test = ourNode.InnerHtml;
            }


Pour la sérialisation XML Que veux-tu y mettre (donnes une idée de la structure que tu veux.)

Bonne journée
1
Rejoignez-nous