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

Shell et commandes GNU Discussion :

awk/xmlstarlet - extraction de valeur


Sujet :

Shell et commandes GNU

  1. #1
    Membre confirmé
    Homme Profil pro
    T24 Admin
    Inscrit en
    Avril 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : T24 Admin
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2007
    Messages : 80
    Par défaut awk/xmlstarlet - extraction de valeur
    Bonjour,

    je voudrai pouvoir lire la valeur de attribut "xmlns" apartir un fichier xml

    voila la ligne depuis laquel je voudrai faire l'extraction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="UTF-8" ?> 
    <Document xmlns ="urn:iso:std:iso:20022:tech:xsd:pacs.003.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    avec AWK voila ce que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat <fichierXML_avec la ligne> | grep xmlns | awk 'FS=":" {print $1}'
    et avec xmlstarlet voila ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlstarlet sel -t -v  "/Document/@xmlns" <fichierXML_avec la ligne>
    pourriez vous m'aidez.

    cordialement.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Bonjour,

    Citation Envoyé par paraphrase
    j'ai essayé ça, et ça
    et... ?

    quelle est la sortie attendue ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre confirmé
    Homme Profil pro
    T24 Admin
    Inscrit en
    Avril 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : T24 Admin
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2007
    Messages : 80
    Par défaut
    Bonjour,

    je m'attend a voir la valeur "pacs.003.001.02" in fine.

    Merci pour l'aide

    O.A

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F'"' '/xmlns/{n=split($2,a,":");print a[n];exit}' fichier.xml
    bien évidemment, si tu dois manipuler régulièrement des fichiers XML, il faudrait trouver un bon tutoriel sur xslt, et/ou demander de l'aide à des personnes plus compétentes.

    edit:
    peut-être plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     awk -F'"' '/xmlns/{print gensub(".*:","","",$2);exit}' fichier.xml
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -o -P 'xmlns ="[^ ]*:\K[^"]*' fichier.xml
    Ça s'adapte à ton cas, peut être pas à tous

  6. #6
    Membre confirmé
    Homme Profil pro
    T24 Admin
    Inscrit en
    Avril 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : T24 Admin
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2007
    Messages : 80
    Par défaut
    Bonjour,

    @zipe31 : j'ai rien eu en sortie, mais je vous remercie pour votre aide, je creuserai et si je réussirai a le faire avec la méthode que vous présenté,je remetterai un post.

    @N_BaH : c'est exactement ce que je voudrai avoir, merci pour votre contribution.
    A.O

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Citation Envoyé par Grizli Voir le message
    @zipe31 : j'ai rien eu en sortie, mais je vous remercie pour votre aide, je creuserai et si je réussirai a le faire avec la méthode que vous présenté,je remetterai un post.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ cat plop 
    <?xml version="1.0" encoding="UTF-8" ?> 
    <Document xmlns ="urn:iso:std:iso:20022:tech:xsd:pacs.003.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ grep -o -P 'xmlns ="[^ ]*:\K[^"]*' plop 
    pacs.003.001.02

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

Discussions similaires

  1. Extraction de valeurs d une iteration
    Par mfontan dans le forum MATLAB
    Réponses: 16
    Dernier message: 18/01/2008, 16h13
  2. Extraction de valeur (stringstream)
    Par jmelyn dans le forum SL & STL
    Réponses: 11
    Dernier message: 12/12/2007, 11h18
  3. Extraction de valeurs - matrice des distances
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 06/04/2007, 17h14
  4. Extraction des valeurs hexa d'un champ char
    Par Krispi dans le forum Fortran
    Réponses: 3
    Dernier message: 21/11/2005, 11h10
  5. [Tableaux] Extraction de valeur dans un tableau
    Par pirouette_07 dans le forum Langage
    Réponses: 6
    Dernier message: 21/10/2005, 17h54

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