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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
MonHtml est un "HtmlAgilityPack.HtmlDocument"
MonHtml.Load("commande.html")
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
 
trace(MonHtml.GetElementbyId("copyright").InnerText)
par contre je dois faire une recherche par classe au lieu de l'id et la cela se complique.

Voici le code en C# mais je n'arrive pas a le traduire
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 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
 
TitleElement est variant
TitleElement = MonHtml.DocumentNode.SelectNodes("//li[@class='last_sold']")
 POUR TOUT MonElem DE TitleElement
 	Trace (MonElem)
 
 FIN
j'ai une erreur du style
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