Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Table Html

3 réponses
Avatar
Jacques
Bonjour tout le monde,

Comment récupérer les informations d'une table Html. ?

Après quelques recherches, je n'ai trouvé que HtmlDocument,
HtmlElementCollection et HtmlElement.

Avec InnerHtml, je récupère le code Html de la table.

Comment récupérer ensuite les informations contenues dans cette table ?

Merci de vos réponses


Jacques

3 réponses

Avatar
Jérémy Jeanson
Bonjour Jacques,

Je pense que Linq To XML correspond exactement à ce dont tu as besoin.
Voici un petit exemple de ce qui peut être faite pour parser une string
qui contient un tableau à 2 colonnes et obtenir une table d'objets
aillant 2 propriétés colonne1 et colonne2 :

Dim html As String =
"<table><tr><td>a</td><td>1</td></tr><tr><td>b</td><td>2</td></tr></table>"

Dim req = (From tr In XDocument.Parse(html).Nodes() _
.Cast(Of XElement)().ToArray() _
.Nodes().Cast(Of XElement)() _
Let tds = tr.Nodes().Cast(Of XElement)() _
Select colonne1 = tds(0).Value, colonne2 = tds(1).Value _
).ToArray()

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
Jacques
Bonjour,

Merci pour ce bout de code.
Où puis-je trouver une information sur ce code ?
Juste pour savoir comment utiliser Linq to XML, d'où vient le XDocument,
quoi importer, etc.

Merci


Jacques

"Jérémy Jeanson" a écrit dans le message de
news:
Bonjour Jacques,

Je pense que Linq To XML correspond exactement à ce dont tu as besoin.
Voici un petit exemple de ce qui peut être faite pour parser une string
qui contient un tableau à 2 colonnes et obtenir une table d'objets
aillant 2 propriétés colonne1 et colonne2 :

Dim html As String >


"<table><tr><td>a</td><td>1</td></tr><tr><td>b</td><td>2</td></tr></table>"

Dim req = (From tr In XDocument.Parse(html).Nodes() _
.Cast(Of XElement)().ToArray() _
.Nodes().Cast(Of XElement)() _
Let tds = tr.Nodes().Cast(Of XElement)() _
Select colonne1 = tds(0).Value, colonne2 = tds(1).Value _
).ToArray()

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr


Avatar
Jérémy Jeanson
Bonjour Jacques,

Effectivement je n'ai pas noté les références : il faut utiliser un
framework 3.5, et référencer System.Xml.Linq et System.Linq

Pour XDocument il siffit de regarder la MSDN :
http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx

Pour expliquer simplement les choses XDocument te permet de parser le
HTML et ainci parcourir ses noeuds. Il faut utiliser la méthode Cast
afin de tracvailler avec les objets XElement (noeuds xml).

J'ai utilisé un Let afin de mettre de côté la liste de noeuds td de
chaque noeud tr dans une liste de XElements. Cela rend plus facil la
selection par la suite dans le Select.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr