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 030
    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 030
    Points : 4 067
    Points
    4 067

    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 364
    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 364
    Points : 44 760
    Points
    44 760

    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 : Gestion des cartes graphiques NVIDIA dans MATLAB : le NVIDIA System Management Interface

    Ma page personnelle avec mes contributions MATLAB (R2011b/R2014a - 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 364
    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 364
    Points : 44 760
    Points
    44 760

    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 : Gestion des cartes graphiques NVIDIA dans MATLAB : le NVIDIA System Management Interface

    Ma page personnelle avec mes contributions MATLAB (R2011b/R2014a - 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
  •