Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Modérateur
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    novembre 2007
    Messages
    3 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

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

    Informations forums :
    Inscription : novembre 2007
    Messages : 3 066
    Points : 4 559
    Points
    4 559

    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 :
    1
    2
     
    content = xml_load('file.xml')
    Sauvegarde d'un fichier XML
    Code :
    1
    2
     
    xml_save('file.xml', content)
    ou, pour ne pas avoir les attributs par défaut dans les balises:
    Code :
    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 :
    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 :
    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.2 (r2013b)
    A la maison : ArchLinux mais pas MATLAB

  2. #2
    Dut
    Dut est déconnecté
    Rédacteur/Modérateur

    Avatar de Dut
    Homme Profil pro Jérôme Briot
    Ingénieur hospitalier
    Inscrit en
    novembre 2006
    Messages
    17 800
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérôme Briot
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2006
    Messages : 17 800
    Points : 49 562
    Points
    49 562

    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 : Installer GNU Octave 3.8.1 sur Linux Xubuntu 14.10

    Ma page personnelle avec mes contributions MATLAB (R2011b/R2014b - Windows, Linux et Mac) et Hardware

    « 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)

  3. #3
    Dut
    Dut est déconnecté
    Rédacteur/Modérateur

    Avatar de Dut
    Homme Profil pro Jérôme Briot
    Ingénieur hospitalier
    Inscrit en
    novembre 2006
    Messages
    17 800
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérôme Briot
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2006
    Messages : 17 800
    Points : 49 562
    Points
    49 562

    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 : Installer GNU Octave 3.8.1 sur Linux Xubuntu 14.10

    Ma page personnelle avec mes contributions MATLAB (R2011b/R2014b - Windows, Linux et Mac) et Hardware

    « 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)

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •