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

XML Discussion :

[TinyXML] Récupérer des données sans nom


Sujet :

XML

  1. #1
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut [TinyXML] Récupérer des données sans nom
    Bonjour.

    Voilà j'ai un peu de mal à utiliser TinyXML pour un cas précis. Voici un petit bout du fichier XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <diffuse>
    <color>0.137255 0.403922 0.870588 1</color>
    </diffuse>
    Je souhaiterai récupérer dans 4 entiers flottants les quatre valeurs entre color, seulement je n'y arrive pas.

    Pour l'instant j'ai écrit ça :
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TiXmlElement * elem = hdc.FirstChildElement("diffuse").FirstChildElement().Element();

    Si j'ai bien compris comment fonctionne TinyXml, je suis censé être dans le bloc <color>. Seulement je n'arrive pas à récupérer les valeurs une à une. J'ai réussi à les récupérer sous forme d'une chaîne de caractère :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const char * nom = elem->GetText();
    std::cout << nom;

    Mais je n'y arrive pas à les récupérer sous forme de float. J'ai essayé la fonction QueryFloatAttribute mais ça ne marche pas.

    Merci de votre aide

  2. #2
    Membre actif Avatar de femtosa
    Inscrit en
    Juin 2002
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 253
    Points : 222
    Points
    222
    Par défaut
    Tu n'arriveras à lire que sous forme de chaîne ! Extrait ensuite tes quatres float à l'aide de fonction standard C++ !

    Pour le QueryFloatAttribute,c'est lorsque ta données est sous forme :

    <uneBalise unAttributFloat="4.32">Un texte</uneBalise> !

  3. #3
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Merci ! Je m'en doutais .

  4. #4
    Membre actif Avatar de femtosa
    Inscrit en
    Juin 2002
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 253
    Points : 222
    Points
    222
    Par défaut
    Citation Envoyé par Bakura
    Après avoir récupéré tes données dans une chaîne de caractère, fait simplement un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sscanf(maVariableChaine, "%f %f %f %f", FloatVar1, FloatVar2, FloatVar3, FloatVar4);

  5. #5
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Citation Envoyé par femtosa
    Après avoir récupéré tes données dans une chaîne de caractère, fait simplement un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sscanf(maVariableChaine, "%f %f %f %f", FloatVar1, FloatVar2, FloatVar3, FloatVar4);
    Oui je pense que j'ai une solution plus propre avec les istringstream et ostringstream du C++ ^^.

Discussions similaires

  1. Enregistrer et récupérer des données (sans BDD)
    Par Prodiguy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/05/2013, 15h31
  2. Récupérer des données dans un SELECT sans répétition
    Par sihamnet dans le forum Développement Web en Java
    Réponses: 7
    Dernier message: 27/05/2012, 01h58
  3. Récupérer des données GPS sans Qt Mobility
    Par skwateur dans le forum Débuter
    Réponses: 0
    Dernier message: 16/05/2012, 09h44
  4. Boucler sur le nom des feuilles pour récupérer des données
    Par Vincent32 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/02/2012, 17h11
  5. Réponses: 2
    Dernier message: 22/12/2008, 18h29

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