Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

parser fichier XML dans un programme C

13 réponses
Avatar
mah chab
Salut,

Je voudrais parser un fichier XML dont le but est d'extraire des
informations pour les utiliser apr=E8s dans mon programme C.

- il y a des librairies d=E9finies sous visaul studio 2008 pour parser
des fichiers XML dans un programme C ?

- Sinon. il y a autres solutions ?

- Pouvez vous me donner un exemple de programme C sous Windows qui
permet de parser un fichier XML ?

Merci.

3 réponses

1 2
Avatar
programmation
On 29 juil, 16:47, Christian ASTOR wrote:
On 29 juil, 16:49, programmation wrote:

> Je ne sais pas si MSXML implémente la méthoe SAX.

Bien sûr, ça fait n fois qu'on poste la doc :http://msdn.microsoft.co m/en-us/library/ms762776(VS.85).aspx
même méthode que précédemment, en testant au départ de
CLSID_SAXXMLReader60 à CLSID_SAXXMLReader30au cas où l'on ait un
retour REGDB_E_CLASSNOTREG

(et "essai.lat.xml" n'est pas de "grande taille"...)



Salut,

C'est vraie dans cet exemple "essai.lat.xml" n'est pas de grande
taille. Mais, en réalité je travaille sur des fichiers qui contiennent
des centaines des concepts. De plus, je m'intéresse au temps
d'exécution le moins possible.
Je vois que vous préférez la méthode DOM. Est que DOM est simple que
SAX dans le traitement ?

- Est ce que ce mieux d'utiliser DOM ou SAX dans mon cas ?

- Pouvez vous m'expliquer pas à pas (comme par exemple dans le
traitement d'un fichier texte simple: ouvrir, lire, traiter et fermer)
comment je vais travailler avec MSXML (DOM ou SAX selon mon cas) car
je n'arrive pas à exploiter votre solution dans mon problème ?

- Comment je vais trouver les informations déjà citées au dessus en
appliquant votre solution ?

- Pouvez me donner le programme C qui me permet de trouver ces
informations sachant que vous avez le fichier "essai.lat.xml" au
dessus pour que je puisse bien vous comprendre ?

Merci.
Avatar
programmation
On 30 juil, 10:02, programmation wrote:
On 29 juil, 16:47, Christian ASTOR wrote:

> On 29 juil, 16:49, programmation wrote:

> > Je ne sais pas si MSXML implémente la méthoe SAX.

> Bien sûr, ça fait n fois qu'on poste la doc :http://msdn.microsoft. com/en-us/library/ms762776(VS.85).aspx
> même méthode que précédemment, en testant au départ de
> CLSID_SAXXMLReader60 à CLSID_SAXXMLReader30au cas où l'on ait un
> retour REGDB_E_CLASSNOTREG

> (et "essai.lat.xml" n'est pas de "grande taille"...)

Salut,

C'est vraie dans cet exemple "essai.lat.xml" n'est pas de grande
taille. Mais, en réalité je travaille sur des fichiers qui contiennen t
des centaines des concepts. De plus, je m'intéresse au temps
d'exécution le moins possible.
Je vois que vous préférez la méthode DOM. Est que DOM est simple qu e
SAX dans le traitement ?

- Est ce que ce mieux d'utiliser DOM ou SAX dans mon cas ?

- Pouvez vous m'expliquer pas à pas (comme par exemple dans le
traitement d'un fichier texte simple: ouvrir, lire, traiter et fermer)
comment je vais travailler avec MSXML (DOM ou SAX selon mon cas) car
je n'arrive pas à exploiter votre solution dans mon problème ?

- Comment je vais trouver les informations déjà citées au dessus en
appliquant votre solution ?

- Pouvez me donner le programme C qui me permet de trouver ces
informations sachant que vous avez le fichier "essai.lat.xml" au
dessus pour que je puisse bien vous comprendre ?

Merci.



Bonjour,

J'ai lu la documentation de MSXML (DOM et SAX). Mais je ne trouve pas
comment je vais extraire les informations qui existent dans mon
fichier XML à partir du mon programme C.
Vue que la première fois que je parse un fichier XML alors je ne
comprends pas le principe de le faire. par exemple dans la
manipulation de fichier texte. Il faut:
- tester l'existence du fichier
- ouvrir le fichier
- lire le fichier
- traitement
- fermeture.

Par analogie comment je vais lire les informations existant dans la
dernière balise de mon fichier XML ?

Je m'intéresse au cette partie (dernière balise "concep") du mon
fichier :

<Concept>
<ID> 11 </ID>
<Extent>
</Extent>
<Intent>
<Attribute_Ref>d</Attribute_Ref>
<Attribute_Ref>b</Attribute_Ref>
<Attribute_Ref>c</Attribute_Ref>
<Attribute_Ref>a</Attribute_Ref>
</Intent>
<UpperCovers>
<Concept_Ref>10</Concept_Ref>
<Concept_Ref>8</Concept_Ref>
<Concept_Ref>9</Concept_Ref>
<Concept_Ref>7</Concept_Ref>
</UpperCovers>
</Concept>

Je voudrais stocker les valeurs qui existent entre les sous balises
pour les utiliser dans mon programme C.

- <Extent> </Extent>
- <Attribute_Ref> </Attribute_Ref>
- <UpperCovers> </UpperCovers>

Comment je vais extraire ces valeurs ?

C'est urgent. Aidez-moi je suis bloquée.

Merci.
Avatar
Christian ASTOR
On 4 août, 11:43, programmation wrote:
J'ai lu la documentation de MSXML (DOM et SAX). Mais je ne trouve pas
comment je vais extraire les informations qui existent dans mon
fichier XML à partir du mon programme C.



Pour DOM les exemples MS en C/C++ ont été donnés.
Pour SAX, c'est du C++ : voir l'exemple JumpStart pour parser un
fichier XML :
http://msdn.microsoft.com/en-us/library/ms766387(VS.85).aspx
1 2