IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Extraire des données d'un fichier Html en C# (tableau)


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Extraire des données d'un fichier Html en C# (tableau)
    J'ai un fichier Html avec à l'intérieur un tableau de données. J'aimerais extraire les donnée du tableau, les formater et les écrire dans un fichier text.

    Voici le fichier .htm en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!DOCTYPE HTML PUBLIC "-//TDL2HTM//DTD HTML 2.0 + all extensions//EN">
    <HTML VERSION="1">
    <HEAD><TITLE>Screens</TITLE></HEAD>
    <BODY><CENTER>
    <H1>Screens</H1>
    <TABLE BORDER="1" ALIGN="CENTER">
    <TR><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>Record Name</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>Name</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>ID No.</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>Abbreviation</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>Colour</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>S(40)</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>S(50)</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>S(60)</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>S(70)</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>S(80)</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>S(90)</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>S(100)</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>S(120)</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>S(140)</EM></FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-1"><EM>S(150)</EM></FONT></TD></TR>
    <TR><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">3M Gradual +/-</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">3M Gradual +/-</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">1</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">G400</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">g</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">113</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">160</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">225</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">300</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">345</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">360</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">350</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">325</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">300</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">288</FONT></TD></TR>
    <TR><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">3M Gradual +/-/+</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">3M Gradual +/-/+</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">2</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">G200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">g</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">75</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">106</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">150</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">230</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">240</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">233</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">217</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">192</FONT></TD></TR>
    <TR><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">3M Trimax  2</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">3M Trimax  2</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">3</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">G100</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">g</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">58</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">80</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">110</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">137</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">151</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">160</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">161</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">152</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">142</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">138</FONT></TD></TR>
    <TR><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">X-CONSTANT DV=1VOLT</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">X-CONSTANT DV=1VOLT</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">316</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">CNST</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">b</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD><TD ALIGN="CENTER" VALIGN="MIDDLE"><FONT SIZE="-2">200</FONT></TD></TR>
    </TABLE></P>

    merci,

  2. #2
    Membre confirmé Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Points : 527
    Points
    527
    Par défaut
    Euh wai c'est quoi la question ? tu veux qu'on te fasse ton soft ?

    Techniquement parlant j'utiliserai des split vu que tout est structurer.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par jacky01 Voir le message
    Euh wai c'est quoi la question ? tu veux qu'on te fasse ton soft ?

    Techniquement parlant j'utiliserai des split vu que tout est structurer.
    J'avoue que la question est vague... En fait, je suis plus un programmeur de C (embedded) et je commence à faire du C#. Je connais pas trop les différentes fonctions. J'ai essayé quelques méthodes pour faire le tout, mais je les trouvais pas très efficace.

    Merci pour le hint du split!

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Extraire des données d'un document HTML, c'est rarement simple...

    - On ne peut pas utiliser un parser XML parce que généralement un document HTML n'est pas un document XML valide (sauf XHTML strict)

    - Les expressions régulières ne sont pas très adaptées pour gérer des structures imbriquées comme les balises HTML

    Pour faciliter la tâche, il existe un outil appelé "HTML Agility Pack" qui permet notamment d'utiliser XPath pour extraire les données, je pense que c'est encore la solution la plus adaptée...

Discussions similaires

  1. Extraire des données d'un fichier html
    Par marco056 dans le forum Général Python
    Réponses: 9
    Dernier message: 02/07/2013, 20h38
  2. [Excel] Extraire des données d'un fichier xls en php
    Par splinternabs dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 06/04/2006, 09h11
  3. Extraire des donnés d'un fichier texte
    Par sadsad dans le forum Langage
    Réponses: 2
    Dernier message: 07/02/2006, 15h09
  4. Réponses: 7
    Dernier message: 29/09/2005, 10h19
  5. extraire des données d'un code HTML
    Par blueice dans le forum Langage
    Réponses: 5
    Dernier message: 19/08/2004, 19h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo