|
FOROS PROFESIONALES WINDEV, WEBDEV y WINDEV Mobile |
| | | | | |
| Utilisation DLL Html Agility Pack - Parsing |
| Iniciado por Nicolas, 27,sep. 2019 14:36 - 2 respuestas |
| |
| | | |
|
| |
Miembro registrado 34 mensajes |
|
| Publicado el 27,septiembre 2019 - 14:36 |
Bonjour,
J'essaies de parser du code html via une DLL importée (Html Agility Pack).
J'arrive à lire certaines valeurs, mais toutes celles faisant appel à un attribut sont en erreur "Impossible d'accéder au sous-élément". Je me demande s'il n'y aurait pas un conflit avec la propriété ..attribut du WLangage ?
Si quelqu'un a une idée ou une alternative pour parser des pages HTML, je suis preneur. Merci.
Exemple de l'éditeur : https://html-agility-pack.net/online-examples/ozk9kE
Voici mon code :
HtmlDoc est un HtmlAgilityPack.HtmlDocument dynamique HtmlDoc = allouer un HtmlAgilityPack.HtmlDocument sHTML est une chaîne
sHTML =[ <TD class=texte width="50%"> <DIV align=right>Name :<B> </B></DIV> </TD> <TD width="50%"> <INPUT class=box value=John maxLength=16 size=16 name=user_name id="id_1"> <INPUT class=box value=Tony maxLength=16 size=16 name=user_name id="id_2"> <INPUT class=box value=Jams maxLength=16 size=16 name=user_name id="id_3"> <INPUT class=box value=Nick maxLength=16 size=16 name=user_name id="id_4"> </TD> <TR vAlign=center> ]
HtmlDoc:LoadHtml(sHTML)
vNoeud est un Variant = HtmlDoc.DocumentNode.SelectNodes("//td/input")
POUR TOUT sElement de vNoeud Trace(sElement.outerHtml) Trace(sElement.id) Trace(sElement.Attributes["value"].Value) FIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 962 mensajes |
|
| Publicado el 21,diciembre 2019 - 17:19 |
hello, tu peux faire comme cela par exemple :
HtmlDoc est un HtmlAgilityPack.HtmlDocument()
HtmlDoc:LoadHtml(sHTML)
vNoeud est un HtmlNodeCollection dynamique = HtmlDoc.DocumentNode.SelectNodes("//td/input") sElement est un HtmlNode dynamique POUR TOUT sElement de vNoeud Trace(sElement.outerHtml) Trace(sElement.id) Trace( sElement.GetAttributeValue("value","pas trouvé")) FIN A noter que le deuxième paramètre de GetAttributeValue est la valeur par défaut qui est renvoyée si l'attribut n'est pas trouvé
-- Ami calmant, J.PMensaje modificado, 21,diciembre 2019 - 17:20 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 34 mensajes |
|
| Publicado el 23,diciembre 2019 - 09:43 |
Merci pour ta réponse. Du coup je suis passé sur les fonctions XML de Windev et ça fonctionne très bien. Je garde ta solution sous le coude... |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|