Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1071 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  C++ et parser XML [RESOLU]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

C++ et parser XML [RESOLU]

n°1099233
babar9160
Fan d'Ada et de Perl...
Posté le 27-05-2005 à 11:07:49  profilanswer
 

Voilà, je me lance dans le parsing de fichier XML en C++ pour mon appli, enfin la traduction de mon appli de l'Ada en C++.
Jusqu'à présent je placé mes données dans des fichiers types csv, où les données sont séparées par des ';'.
 
Cependant il serait préfèrable qu'elle soit en XML parce que cela pourrait être plus confortable a consulter hors-application.
 
Donc quelqu'un a-t-il déjà utilisé un parser XML, ou mieux XERCES...
et ainsi me donner quelques conseils ?
je me penche sur le sujet depuis 3 jours... et je comprends pas tout.
 
Une chose est sure je pars sur du SAX plutot que du DOM.... enfin c'est ma première impression.  
La gestion evenementielle serait préférable, vu qu'il s'agit en fait juste de récuperer les données stockées au format XML
un chti exemple de ce que j'ai ....

Code :
  1. <CSU pack="P_DOSEUR" name="COMMANDER_DOSEUR">
  2. <var type="IN" name="POSITION" type="P_DOSEUR_TYPES.T_PAS" />
  3. <var type="OUT" name="ETAT" type="P_SURVEILLANCE_TYPES.T_RESULTAT" />
  4. </CSU>


A la fin je stock dans un tableau de record défini comme suit :

Code :
  1. typedef struct t_Data
  2.   {
  3.     //  Nom de la variable
  4.     wxString Nomvar;
  5.     //  Type de la variable
  6.     wxString Typevar;
  7.     //  Variable en entree ?
  8.     bool Invar;
  9.     //  Variable en sortie ?
  10.     bool Outvar;
  11.   };


 
Je ne demande pas à ce qu'on me fasse le boulot... juste des pistes sur comment utilisé le parser ou même des exemples.
 
Pour info je suis sous win2000, avec devcpp 4.9.9.2 + wxWidgets 2.6.0 et Xerces 2.5.2
 
Merci de votre aide...


Message édité par babar9160 le 31-05-2005 à 13:27:13
mood
Publicité
Posté le 27-05-2005 à 11:07:49  profilanswer
 

n°1100214
Stroustrup​-Junior
Posté le 28-05-2005 à 10:59:25  profilanswer
 

Dans le cadre d'un mini projet, je me suis développé ma propre librairie pour manipuler du flux/fichier XML.
 
MinXL

n°1101362
babar9160
Fan d'Ada et de Perl...
Posté le 30-05-2005 à 08:51:19  profilanswer
 

Merci beaucoup ;) je vois si ça peut m'aider... je pense que oui... mais bon je regarde et je te tiens au courant

n°1101402
babar9160
Fan d'Ada et de Perl...
Posté le 30-05-2005 à 10:42:31  profilanswer
 

ça me parait bon pour moi, cependant un soucis apparait...
il est très courant dans mon arborescence XML d'avoir :

Code :
  1. <bloc name="NOM_DU_BLOC">
  2.    <range name="PREMIER_RANGE>
  3.       <min>x</min>
  4.       <max>y</max>
  5.    </range>
  6.    <range name="DEUXIEME_RANGE>
  7.       <min>x2</min>
  8.       <max>y2</max>
  9.    </range>
  10. ......
  11. ..... // N range d'affilés
  12. </bloc>


Le problème vient du fait que le parser n'accepte pas plus de 2 ranges, enfin pas plus de 2 éléments en gros...
 
Il y-a-t'il un moyen de contourner ce soucis ?
 
Merci d'avance...
 
PS: dans l'exemple il s'agit de range, mais, j'ai aussi N enums, M records...... donc ça peut être génant...

n°1101428
Stroustrup​-Junior
Posté le 30-05-2005 à 11:13:14  profilanswer
 

Le parser de MinXL accepte ce genre de fichier XML.

n°1101432
babar9160
Fan d'Ada et de Perl...
Posté le 30-05-2005 à 11:15:55  profilanswer
 

pourtant ça bloque :( je comprens pas trop...
je fais comme dans l'exemple :

Code :
  1. ifstream is( "configuration_type.xml" );
  2.   t_xml_node n1;
  3.   n1.parse( is );


et il me met "abnormal program termination"
mais quand je ne laisse que deux déclarations, là ça passe.
C'est pout ça que je ne comprens pas.

n°1101433
Stroustrup​-Junior
Posté le 30-05-2005 à 11:19:00  profilanswer
 

Interessant. Peux tu m'envoyer ton fichier XML ?

n°1102569
babar9160
Fan d'Ada et de Perl...
Posté le 31-05-2005 à 10:29:39  profilanswer
 

Bon le problème est donc résolu, merci Stroustrup Jr...
 
Et MinXL est vraiment nickel... Si vous avez des petits projets qui ont besoin d'un parser XML assez rapide mais surtout sans prise de tête pour comprendre comment le lancer, allez-y.
 
Ce n'est pas de la pub... juste un conseil ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  C++ et parser XML [RESOLU]

 

Sujets relatifs
[JDOM][XML] Problème avec les accentsProbleme de chemin et de XML
Déplacer une image - Pbr avec Firefox + Doctype [RESOLU]probleme XML avec PHP DOMXML
Problème d'installation du module XML::PARSER[Résolu] Ouvrir un formulaire access
RESOLU - Récuperer le texte de la valeur d'une combobox RESOLU[Résolu]probleme de requete sql
clé étrangère avec MySQL [RESOLU][Résolu]Variables non reconnues sous easy php
Plus de sujets relatifs à : C++ et parser XML [RESOLU]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR