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

Algorithmes et structures de données Discussion :

[Pars.] Algo. récupérant caractères ds les balises spécifiés


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 93
    Par défaut [Pars.] Algo. récupérant caractères ds les balises spécifiés
    Bonjour,

    Voila, j'ai un fichier de ce type:
    Fichier.txt
    <toponyme class="toponyme">
    <nom>MONT AAST</nom>
    </toponyme>
    Et je m'escrimes depuis un moment afin de créer une fonction dont le prototype serait:
    void Parseur ( balise: chaine de caractères, path : chaine de caractères);

    Ou balise est le nom d'une balise ( exemple : nom) et path le chemin d'un fichier à parser.

    En exécutant la fonction en utilisant les paramètres suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parseur ( "nom", "Fichier.txt");
    Elle afficherait toutes informations comprises entre <nom> et </nom>.

    Si vous avez l'idée heureuse, ce n'est pas de refus.
    J'ai peur d'être passé à côté d'un algorithme bateau.

    Merci d'avance.

    PS:
    Pour informations j'utilise le PHP.

    PS:

    J'ai ça pour l'instant mais ça me paraît léger:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?
    function Parseur( $nom_balise, $Path){
     
    $fp = fopen( $Path, "r") or die("Fichier introuvable. L'analyse a été suspendue");
    $cpt_car = 0;
    $balise_debut = "<".$nom_balise.">";
    $balise_fin = "</".$nom_balise.">";
    $lg_balise = strlen( $balise_debut);
     
    while (!feof ($fp))
    {
        $cpt++;
        $fdata = fgets ($fp);
        $place_debut = strpos( $fdata, $balise_debut);
     
        if ( $place_debut !== false)
        {
          //echo "ligne ".$cpt." et caractère ".$place_debut."<br>";
          $place_fin = strpos( $fdata, $balise_fin);
          if ( $place_fin !== false)
          {
          $start = $place_debut + $lg_balise;
          $length = $place_fin - $start;
     
     
          echo $cpt." >><br>    ".substr ( $fdata, $start , $length)."<br>";
     
          }
     
        }
     
    }
    }
     
    Parseur( "nom", "Parseur/Liste_TOPO.txt");
    ?>

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 191
    Par défaut
    Dis moi tu as l'air de programmer en php et de vouloir parser un fichier xml. Alors ok ton problème n'est pas très compliqué et est bon à faire pour le sport mais il te suffit au sinon d'utiliser un parser XML et sans vouloir remettre en cause tes compétences en programmation, tu risques de gagner en performance...

  3. #3
    Membre éprouvé Avatar de nin2
    Profil pro
    Inscrit en
    Février 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Février 2005
    Messages : 100
    Par défaut
    Pareil que Royd938 ! Il existe un module php qui est idéal pour traiter des documents xml : domxml

    http://uk.php.net/domxml

    En tout cas, il existe beaucoup de solutions "toutes prêtes" pour faire ce que tu veux. Alors pas besoin de réinventer la poudre.

    PS : Y a peut-être des trucs à regerder du côté de XSLT aussi ...


  4. #4
    Membre chevronné
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Par défaut
    Citation Envoyé par nin2

    PS : Y a peut-être des trucs à regerder du côté de XSLT aussi ...

    Oui et non, pour avoir utilisé cette technologie, je peux dire que pour "présenter" et mettre en forme des données XML, XSLT est performant.
    Par contre dès qu'il va s'agir de faire un minimum de traitement (filtre, tableau à plusieurs colonnes avec triage, etc...) alors là autant bosser sur l'architecture du XML en amont.

Discussions similaires

  1. [RegEx] Remplacer URL par des liens sauf dans les balises
    Par raph37 dans le forum Langage
    Réponses: 7
    Dernier message: 19/10/2013, 19h31
  2. [RegEx] Remplacer une chaine par un lien sans exploser les balises
    Par yahoowaloo dans le forum Langage
    Réponses: 5
    Dernier message: 19/07/2011, 11h39
  3. [PEAR][HTML_QuickForm] Comment supprimer les balises <b> qu'il ajoute par défaut ?
    Par nathieb dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/05/2007, 16h37
  4. Réponses: 5
    Dernier message: 19/01/2007, 22h53
  5. réduire l'espace interieur généré par les balises form
    Par psychoBob dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 29/05/2006, 17h11

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