1. #1
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    novembre 2007
    Messages
    3 098
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2007
    Messages : 3 098
    Points : 4 638
    Points
    4 638

    Par défaut Gestion des fichiers XML avec la XML toolbox

    Pour utiliser des fichiers XML avec MATLAB, une solution consiste à utiliser la XML Toolbox disponible sur le FEX qui présente l'avantage d'être relativement simple d'utilisation.

    Après avoir téléchargé la toolbox (ZIP) et l'avoir extraite dans un répertoire du path MATLAB, l'utilisation est la suivante:

    Chargement d'un fichier XML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    content = xml_load('file.xml')
    Sauvegarde d'un fichier XML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xml_save('file.xml', content)
    ou, pour ne pas avoir les attributs par défaut dans les balises:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xml_save('file.xml', content, 'off')
    Ainsi la manipulation des fichiers XML est relativement simple, il faut noter que la variable MATLAB associée au fichier XML (content dans notre exemple) est une Structure.

    Exemple :

    Le code MATLAB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    voiture.couleur = 'rouge';
    voiture.annee = 1995;
    voiture.moteur.cylindree = 2000;
    voiture.moteur.Pmax = 102;
    voiture.boite = 'manuelle';
     
    xml_save('file.xml', voiture)
    Donnera la structure de fichier XML suivante :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <root>
    <couleur>rouge</couleur>
    <annee>1995</annee>
    <moteur>
    <cylindree>2000</cylindree>
    <Pmax>102</Pmax>
    </moteur>
    <boite>manuelle</boite>
    </root>

    Remarque: il n'est pas nécessaire de se soucier d'éventuelle conversion de numérique en string, cette fonctionnalité est gérée dans les fonctions xml_load et xml_save.

    Duf
    Simulink & Embedded Coder

    Modérateur MATLAB

    Au boulot : Windows 7 , MATLAB 8.4 (r2014b)
    A la maison : ArchLinux mais pas MATLAB

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Consultant R&D - Mécatronique - MATLAB/Scilab
    Inscrit en
    novembre 2006
    Messages
    18 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant R&D - Mécatronique - MATLAB/Scilab
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 632
    Points : 52 109
    Points
    52 109

    Par défaut

    La version disponible sur le FEX est la 3.1.2

    Il existe une version plus récente 3.2.1 sur le site de l'auteur : http://www.geodise.org/downloads/index.htm
    Sur mon blog : Afficher une photo avec la bonne orientation dans MATLAB

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

    « And the drip and the drip and the drip of the Mississippi cryin' - And Saint Huck hears his own Mississippi just rollin' by him » (Saint Huck)

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Consultant R&D - Mécatronique - MATLAB/Scilab
    Inscrit en
    novembre 2006
    Messages
    18 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant R&D - Mécatronique - MATLAB/Scilab
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 632
    Points : 52 109
    Points
    52 109

    Par défaut

    J'ai proposé une solution alternative à l'extraction de données dans un fichier XML.

    Cela consiste à transformer au préalable le fichier XML en fichier texte en utilisant les transformations XSLT.

    MATLAB est en effet capable de faire ces transformations à l'aide de la fonction XSLT (via Java je pense...)

    Un exemple dans cette discussion : Récupérer des données à partir de fichier XML

    PS : voir les ressources XML de developpez.com pour plus d'infos (tutoriels, forums)
    Sur mon blog : Afficher une photo avec la bonne orientation dans MATLAB

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

    « And the drip and the drip and the drip of the Mississippi cryin' - And Saint Huck hears his own Mississippi just rollin' by him » (Saint Huck)

Discussions similaires

  1. Gestion des fichiers XML avec GTK+
    Par djibril dans le forum Contribuez
    Réponses: 15
    Dernier message: 23/06/2016, 15h57
  2. Gestions des fichiers dat avec properties
    Par xokami35x dans le forum IO
    Réponses: 19
    Dernier message: 10/09/2011, 16h13
  3. Gestion des fichiers uploadés avec wicket
    Par raiden06 dans le forum Wicket
    Réponses: 0
    Dernier message: 28/07/2011, 11h27
  4. Gestion des fichiers XML et ASC3 sous Flex:
    Par silverfab34 dans le forum Flex
    Réponses: 2
    Dernier message: 18/07/2007, 17h34

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