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

C++ Discussion :

Parser un XML en C++


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2015
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 11
    Par d�faut Parser un XML en C++
    Bonjour,

    Je suis confront� � un probl�me assez complexe (malgr� le titre simpliste de mon sujet). Voici ma situation. J'ai un fichier XML sous la forme :

    Code xml : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <segment>
    	<id>1</id>
    	<from-ms>0</from-ms>
    	<to-ms>1000</to-ms>
    	<name>Music</name>
    </segment>
    <segment>
    ...
    ...
    </segment>
    ...
    ...

    Et mon objectif c'est de r�cup�rer toutes les dur�es de chaque segment (donc 1000-0=1000 par exemple), donc de r�cup�rer la soustraction de chaque <to-ms> avec son <from-ms>. Car en fait, si un segment fait moins de 2 secondes, je dois l'ajouter dans le suivant enfin bref je dois modifier le fichier XML.

    Alors j'ai essay� avec TinyXML mais �a ne me permet pas de r�cup�rer ce que je veux. Avez-vous des solutions pour ce probl�me ?

    Merci � vous. ^^

  2. #2
    Inactif  

    Homme Profil pro
    Ing�nieur test de performance
    Inscrit en
    D�cembre 2003
    Messages
    1 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur test de performance
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 986
    Par d�faut
    Bonjour.

    Votre question est compl�tement incoh�rente.

    Le titre, c'est "Parser un XML en C++".

    Dans votre question, vous nous dites :

    enfin bref je dois modifier le fichier XML
    Donc, vous devez parser le XML ou le modifier ?

  3. #3
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    Il y a deux mani�res principales de modifier un xml:
    • Soit l'analyser int�gralement, puis en �crire un autre, qui soit le r�sultat de la modification: pr�f�re un parser type sax, et pour l'�criture, � la main (c'est vite fait)
    • Soit constituer l'arborscence des noeuds du document, la modifier, l'�crire dans un (autre) fichier: pour cela, on utilisera plutot un parser type dom

    A toi de voir ton besoin r�el

  4. #4
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2015
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 11
    Par d�faut
    Ma question concerne vraiment le fait de parser le XML pour en r�cup�rer un contenu pr�cis. C'est apr�s cette �tape que je devrais modifier le XML, mais pour l'instant je veux juste arriver � choper les dur�es des segments comme je l'ai expliqu�.

  5. #5
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    La technique est justement tr�s diff�rente selon ce que tu veux en faire.

    Si c'est pour extraire quelques informations, les parsers du type SAX sont les plus adapt�s (plus simples, plus rapides, plus petits, etc).
    Si au contraire, tu veux apporter des modifications structurelles, les parsers DOM seront plus utiles.

    Au pire, un xml est un fichier texte.

  6. #6
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    On pourrait voir o� tu en es ?
    Parce que
    Citation Envoy� par Raphy55 Voir le message
    Alors j'ai essay� avec TinyXML mais �a ne me permet pas de r�cup�rer ce que je veux. Avez-vous des solutions pour ce probl�me ?
    On ne te donnera pas la solution comme �a, et surtout TinyXml sert justement � parser du XML.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  7. #7
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2015
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 11
    Par d�faut
    Alors j'ai r�ussi � r�cup�rer ce que je voulais. Mon probl�me maintenant c'est que j'aimerais modifier le texte qui est entre deux balises. Par exemple :

    <id>2</id>

    Je veux remplacer le 2 par un 3 imaginons. TinyXml propose une fonction GetText() mais pas SetText()... Et si je passe par SetValue() �a modifie carr�ment le texte de la balise, donc "id".

    Si vous avez une id�e, merci.

  8. #8
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    A nouveau : peut-on voir du code !?
    Il est clair que tu utilises mal/ne sais pas utiliser tinyxml. Pour changer le texte d'un �l�ment il faut utiliser SetValue tout simplement.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  9. #9
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2015
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 11
    Par d�faut
    Voil� la partie du code, avec le SetText() que je souhaite faire :

    Nom : Code.JPG
Affichages : 785
Taille : 52,6 Ko

    Si je fais SetValue() �a modifie le texte dans la balise puisque, si j'ai bien compris, c'est un TiXmlElement...

  10. #10
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    Et que ferai ton "setText"?
    En quoi cela serait-il diff�rent du setValue()?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [C#] Parser du XML
    Par karl3i dans le forum Windows Forms
    R�ponses: 5
    Dernier message: 27/02/2009, 09h46
  2. [DOM] Parser un XML
    Par Zapan dans le forum Format d'�change (XML, JSON...)
    R�ponses: 3
    Dernier message: 02/12/2005, 11h41
  3. [DOM XML] Comment parser du XML avec une version 4.3 ?
    Par ouioui2000 dans le forum Biblioth�ques et frameworks
    R�ponses: 7
    Dernier message: 18/10/2005, 15h52
  4. [FLASH MX2004] Parser un XML en action script
    Par jejeman dans le forum Flash
    R�ponses: 6
    Dernier message: 20/09/2005, 17h25
  5. [XSL] Parser fichier xml : erreurs + incompr�hensions
    Par totobouchon dans le forum Biblioth�ques et frameworks
    R�ponses: 1
    Dernier message: 19/07/2005, 15h47

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