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

 Delphi Discussion :

Parser : Comment transformer du html en dataset ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut Parser : Comment transformer du html en dataset ?
    Bonjour

    j'ai besoin de récupérer les champs Country et Points dans une page style celle la :
    http://www.wgc2010.sk/tasks/results/...PW5WGC2010.htm

    idéalement je voudrais récupérer un dataset a partir de cette page, pour ensuite le manipuler dans delphi

    => est-ce que vous connaissez un parser qui me permette de faire ca rapidement ?

    merci bcp
    anthony

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut


    je précise que j'ai la main sur le XSL qui genère la page html que j'ai linkée, donc si nécessaire je pourrais ajouter
    - un attribut class="country" sur les td de la colonne Country,
    - et pareil, un class="points" pour les td de la colonne Points ...

    merci pour votre aide !

    anthony

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 090
    Par défaut
    Si tu as un XSL, utilise le pour générer un XML pour le TClientDataSet !
    ça serait plus simple non ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut
    merci pour ta réponse
    je vais expliquer un minimum le contexte pour que ce soit plus clair :

    comme vous l'avez vu, la page que j'ai linkée est une page de résultats d'un concours de planeur

    cette page html est générée automatiquement avec un logiciel de scoring nommé SeeYou, elle présente les points du jour pour chaque pilote.

    et les concepteurs de SeeYou laissent la main sur le XSL qui genere la page, afin de permettre aux utilisateurs de pouvoir customiser la page de résultats (ajouter le logo du club, modifier l'ordre des colonnes, des choses comme ca)

    et ce XSL est sollicité directement par SeeYou lorsque l'utilisateur utilise la fonction "Enregistrer les résultats du jour au format HTML"

    si je changeais le XSL pour générer du XML utilisable ensuite pour constituer mon dataset, alors en contrepartie je n'aurais plus la génération de page de résultats sous sa forme HTML actuelle.

    c'est pour cela que je souhaite ajouter l'étape "parsing de la page actuelle de classement par pilote" pour générer une nouvelle page de classement par pays, a partir des nombres de points par pilote contenus ds la page actuelle.

    j'espere que ca vous semble pas trop débile comme approche ...

    merci pour vos conseils

    anthony

  5. #5
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    - Ton tableau html n'est pas cohérent: On y mélange des données qui n'ont rien à voir entre elles. Donc sémantiquement c'est compliqué de séparer les données.

    Si tu n'as pas besoin de garder la présentation HTML, la solution de Shai est la meilleure.

    Comme tu as accès au XSL (et que tu doives absolument garder une présentation HTML), sépares "l'entête" : (la partie du table avant les th),"le pied" (<td colspan="14">) et le corps en trois entités distinctes chacune étant nommée.

    Le mieux sera de faire une page XTHML valide, comme ça tu pourrais facilement parser ton tableau. (voir peut-être utiliser le mampeur XML de Delphi sur ton tableau).

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut
    Citation Envoyé par Linkin Voir le message
    Si tu n'as pas besoin de garder la présentation HTML, la solution de Shai est la meilleure.
    ben en fait si, j'ai besoin de garder la presentation HTML, d'ou mon casse tete !


    Citation Envoyé par Linkin Voir le message
    Comme tu as accès au XSL (et que tu doives absolument garder une présentation HTML), sépares "l'entête" : (la partie du table avant les th),"le pied" (<td colspan="14">) et le corps en trois entités distinctes chacune étant nommée.
    a propos de ton conseil de "séparer en 3 entités" : je vois bien les 2 frontières que tu préconise entre ces 3 entités, mais comment je sépare, précisément ?

    désolé pour mes question peut etre basiques !

    anthony

  7. #7
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    Tu peux séparer en trois tableaux distincts, ça sera le plus simple. Ensuite tu nommes ton tableau (soit avec id, plus pertinent, soit avec class).

    Si tu passes page en XHTML, ça te permettra de parser ton tableau plus facilement.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Par défaut
    OK, 3 tableaux , j'ai compris

    par contre, "passer ma page en XHTML" ca veut dire quoi concretement ?
    ca veux dire m'assurer que toutes les préco du XHTML (que je connais pas d'ailleurs) sont respectées ?

    merci

    anthony

Discussions similaires

  1. [ZF 1.10] Comment parser un nouveau tag HTML ? avec Zend_Markup ?
    Par r-zo dans le forum Zend Framework
    Réponses: 2
    Dernier message: 20/07/2012, 09h15
  2. comment transformer tableau html en xml tag ?
    Par lisadev dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 21/10/2008, 14h25
  3. [XSL] comment transformer ce fichier xml en une table html ?
    Par jlassira dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 15/03/2006, 12h15
  4. Réponses: 2
    Dernier message: 01/05/2005, 20h37
  5. XML/XSL vers HTML: comment transformer les linefeed en <B
    Par AlainM dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 18/11/2003, 12h30

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