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

APIs XML Discussion :

Script de décomposition de date


Sujet :

APIs XML

  1. #1
    Membre du Club Avatar de docv266
    Profil pro
    Inscrit en
    Août 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 85
    Points : 54
    Points
    54
    Par défaut Script de décomposition de date
    Bonjour,

    J'ai un fichier xml dont chacun des éléments ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <even>
        <piece famille="Chambre">302F</piece>
        <event famille="Matériel">Latte lit cassée</event>
        <date>14/3/2007</date>
    </even>
    Et j'en ai plus de 400, je voudrais pouvoir les transformer comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <even>
        <piece famille="Chambre">302F</piece>
        <event famille="Matériel">Latte lit cassée</event>
        <jour>14</jour>
        <mois>3</mois>
    </even>
    Donc en fait décomposer la date en jour, mois et oublier l'année.

    Je veux faire ça avec un script mais je connais pas trop, est ce que quelqu'un sait comment s'y prendre?
    Merci.

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu ne peux pas faire ça en .bat... Tu pourrais utiliser XSLT, mais c'est un peu lourd.
    Une solution en Perl avec XML::Twig :
    Code Perl : 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
    #! /usr/bin/perl
    use strict; use warnings;
    use XML::Twig;
     
    my $twig= new XML::Twig( twig_handlers => { date => \&date } );
     
    $twig->set_pretty_print( 'indented');
    $twig->parsefile( shift );
     
    sub date { 
       my ($twig, $date) = @_;
     
       my ($day, $month) = split '/', $date->text;
       XML::Twig::Elt->new( 'jour', $day)->paste('before', $date);
       XML::Twig::Elt->new( 'mois', $month)->paste('before',$date);
     
       $date->delete;
     
       $twig->flush;
    }

    En gros si j'explique ce que le code fait : il charge le document xml (spécifié en ligne de commande), pour chaque élément "date" il découpe son texte selon les "/", récupère le jour et le mois, crée les éléments correspondants, supprime l'élément "date" et imprime le document jusque là, puis continue.

    Si tu demandes du .bat je suppose que tu es sur Windows ? Dans ce cas télécharge ActivePerl et installe XML::Twig en tapant "ppm install XML::Twig" en ligne de commande.

    --
    Jedaï

  3. #3
    Membre du Club Avatar de docv266
    Profil pro
    Inscrit en
    Août 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 85
    Points : 54
    Points
    54
    Par défaut
    Impec c'est ça! merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. script Perl (Gestion des dates)
    Par yop741 dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 15/12/2008, 18h35
  2. Script pour choisir un Date Time
    Par arnaudperfect dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/08/2008, 10h21
  3. Script Bash et condition date
    Par pcsystemd dans le forum Shell et commandes GNU
    Réponses: 0
    Dernier message: 28/04/2008, 11h00
  4. [MySQL] Probleme script concernant vérification de dates
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 10/10/2006, 13h37
  5. Script: permet de savoir date fichier
    Par noirot dans le forum Windows
    Réponses: 2
    Dernier message: 14/04/2006, 16h47

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