Bonjour à tous,
Dans mon programme, je dois "parser" une page html afin de récupérer des valeurs.
Ex: récupérer la valeur dans une balise DIV ayant comme id "commande".
Apres quelques recherches , je suis tombé sur un assemblage .net permettant de parser le code HTML, il s'agit de HTML AGILITY PACK. Par contre j'ai quelques difficultés pour l'exploiter.
J'arrive à l'importer dans windev et à le déclarer, J'arrive aussi à charger mon fichier html dedans.
J'arrive aussi à retrouver un élémént par id, le code ci dessous me renvoi bien le texte contenu dans la balise div ayant pour id copyright
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 MonHtml est un "HtmlAgilityPack.HtmlDocument" MonHtml.Load("commande.html")
par contre je dois faire une recherche par classe au lieu de l'id et la cela se complique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 trace(MonHtml.GetElementbyId("copyright").InnerText)
Voici le code en C# mais je n'arrive pas a le traduire
J'ai essayer avec le code ci-dessous mais cela ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 var titles = page.DocumentNode.SelectNodes("//h2[@class='entry-title']"); // Returns all titles on the home page of this site in an array. //To process the list just iterate through it. List<string> pageTitles = new List<string>(); foreach (var title in titles) { pageTitles.Add(title.InnerText); }
j'ai une erreur du style
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 TitleElement est variant TitleElement = MonHtml.DocumentNode.SelectNodes("//li[@class='last_sold']") POUR TOUT MonElem DE TitleElement Trace (MonElem) FIN
Vous avez appelé la fonction Trace.
Le passage du paramètre 1 a provoqué une erreur.
Un élément de type 'objet .NET' ne peut pas être converti vers le type 'chaîne UNICODE'.
Pourriez vous m'aider à corriger ce code afin de récupérer les éléments.. Si quelqu'un à un autre assemblage .net ou une autre méthode pour récupérer les infos dans une page HTML, je suis aussi preneur
Merci d'avance
Guillaume
Partager