Créer fichier XML

LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 23 avril 2007 à 10:14
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 24 avril 2007 à 11:41
Bonjour ,

Voila je cherche dans le cadre d'un projet a créer des fichiers XML et écrire dedans :
voici le format de ces fichiers:

<?xml version= "1.0" encoding="utf-8"
?>

[# -]<archivage xmlns:xsd=" http://www.w3.org/2001/XMLSchema " xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance">
 <entetev " 5 " d "10/04/2007"
h" 19:15:23 " nP"1" o= " MB " m ="E1F37" n= " 900A " p ="60E1" c= " S.N.C " nC ="S74006" nL= " A " nR ="043" nI= " 00 " nMA ="1" tM= " T " pG ="4" rS= " 10 " lT ="0" pM= " 1605 " />

 <enteteSuppnM ="1" lM= " 313 " lMR ="0" t= " Sud " pC ="EO" fBI= " false "
fBM ="false" fMA= " true " ePA ="200" pLV= " 8 " pLH ="4" />

[# -]<defauts>
 <dfp " V " t "FD" X= " 1090 " dX ="1830" e= " 0.1205 " b ="-0.0696"
a= " 0.0009 "
/>

 <dfp ="V" t= " FS " X ="1880" dX= " 710 " e ="0.124" b= " -0.1992 "
a ="0.001"
/>
 <dfp" V " t"RD" X= " 1790 " dX ="1140" e= " 0.0911 " b ="0.2014" a= " -0.0008 " />

 <dfp ="V" t= " RS " X ="1420" dX= " 1010 " e ="0.0967" b= " 0.1247 " a ="-0.0009" />
 <dfp" V " t"GD" X= " 380 " dX ="0" e= " 0.1055 " b ="-0.1803"
a= " 0.0013 "
/>

 <dfp ="V" t= " GS " X ="750" dX= " 0 " e ="0.0938" b= " -0.1992 "
a ="0.001"
/>
 <dfp" V " t"S" X= " 0 " dX ="0" e= " 0.2109 " b ="0" a= " 0 " />

 <dfp ="V" t= " CPF " X ="0" dX= " 0 " e ="0" b= " 0 " a ="0" />
 <dfp" V " t"PIC" X= " -10 " dX ="0" e= " 0 " b ="0" a= " 0 " />

 <dfp ="H" t= " FD " X ="570" dX= " 1890 " e ="0.2948" b= " 0.0006 " a ="0.0015" />
 <dfp" H " t"FS" X= " 20 " dX ="1030" e= " 0.3602 " b ="0.0462" a= " 0.0002 " />

 <dfp ="H" t= " RD " X ="2440" dX= " 1840 " e ="0.3586" b= " 0.4121 " a ="-0.0008" />
 <dfp" H " t"RS" X= " 2950 " dX ="840" e= " 0.4447 " b ="-0.063" a= " 0.0009 " />

 <dfp ="H" t= " GD " X ="570" dX= " 0 " e ="0.2522" b= " -0.0953 "
a ="0.0017"
/>
 <dfp" H " t"GS" X= " 1110 " dX ="0" e= " 0.1613 " b ="0.043" a= " 0.0003 " />

 <dfp ="H" t= " S " X ="0" dX= " 0 " e ="0.4668" b= " 0 " a ="0" />
 <dfp" H " t"BF" X= " 0 " dX ="0" e= " 0 " b ="0" a= " 0 " />

 </defauts>

[# -]<parametres>

 <pmp ="V" fE= " 0.4 " fP ="0" fL= " 2000 " gE ="0.3" gP= " 0 " gA ="10" gL= " 1000 " rE ="0.3" rP= " 1000 " rL ="2000" sE= " 0 " sP1 ="0" sP2= " 0 " pE ="0.2" pP= " 600 " pT ="150" bE= " 0 " bP ="0" />
 <pmp" H " fE"0.6" fP= " 0 " fL ="2000" gE= " 0.4 " gP ="0" gA= " 10 " gL ="1000" rE= " 0.6 " rP ="1000" rL= " 2000 " sE ="0" sP1= " 0 " sP2 ="0" pE= " 0.2 " pP ="600" pT= " 150 " bE ="0" bP= " 0 " />

 </parametres>

[# -]<mesureV>

 <msX ="0" Y= " 0.1086 " />

 <msX ="1" Y= " 0.0996 " />

 <msX ="2" Y= " 0.0936 " />

 <msX ="3" Y= " 0.0886 " />

 <msX ="4" Y= " 0.0869 " />

 <msX ="5" Y= " 0.0882 " />

<msX ="311" Y= " 0.4677 " />

 <msX ="312" Y="0.4668" />

 </mesureV>

 </archivage>

Je travaille en C++ sous visual 2005 XP, et je ne souhaite pas faire de parseur,mon but ici n'est que d'ecrire des fichiers qui seront lu par un autre
logiciel distant!
j'ai fait des recherches et trouver des bibliotheques styles Xcerces ou tinyXML, mais comme je ne souhaite que créer et ecrire le fichier
je voulais vous poser la question: dois je utiliser ce genre de biblio et est ce simple a faire( sachant que j'ai beaucoup de valeur et je créé des fichiers 1/heure)
et sinon dois je juste faire création de fichier et ecriture comme un simple fichier texte que je mettrais a l'xtension xml?
merci pour vos reponses!

 

10 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
23 avril 2007 à 10:54
Salut,
Je suis actuellement sur TinyXML et je le trouve suffisamment facile d'accès pour ce que tu as à faire.
La prise en main est rapide, surtout en suivant ce tutoriel explicite

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_omnia Messages postés 240 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 22 mars 2009
23 avril 2007 à 11:14
Salut,

Dans le cas d'une écriture seul dans un fichier XML sans relecture et remplacement de valeurs, tu peux utiliser directement des fonctions native de gestion d'écriture des fichiers:

- fopen / fclose
fputs

c'est beaucoup plus rapide inutile d'utiliser des bibilo voila

voila @+
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
23 avril 2007 à 11:44
ok on es bien d'accord vu ce que j'ai a faire autant utiliser les fonctions de base
fopen / fwrite etc....
et mettre les balises correctement pour qu'il n'y ai pas de probleme!!!

c t juste pr etre sur!!!
merci de vos réponses

 
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
23 avril 2007 à 11:56
Laisse donc les vieilleries au placard. Utilises plutot l'API :

CreateFile(...) : ouverture/création de fichier
WriteFile(...) : Ecriture
ReadFile(...) : Lecture
CloseHandle(...) : Libération du handle alloué lors du CreateFile(....)

Shell
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
23 avril 2007 à 13:42
oki doki
juste a temps j'étais en train de commencer avec ces bons vieux fwrite et fopen!!!
;-)

 
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
23 avril 2007 à 14:08
petite question:
on peut spécifier un chemin genre le mettre sur le bureau ?

 
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
23 avril 2007 à 14:23
Tu le mets où tu veux ton fichier!
Tu peux regarder la classe CFileDialog pour créer une boite de dialogue d'enregistrement de fichier ou bien SHFolderForFolder pour sélectionner un dossier dans lequel ranger tes XML.

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
23 avril 2007 à 14:44
salut,

bizarre j'ai juste mis ce code simple pr voir deja si ca créé un fichier

et il compile pas du tout:
#include <stdio.h>
#include <windows.h>
#include <time.h>
    

HANDLE hXMLFile;
 
hXMLFile = CreateFile(TEXT("myfile.xml"),     // file to create
                   GENERIC_WRITE,          // open for writing
                   FILE_SHARE_READ,        // share for reading
                   NULL,                   // default security
                   CREATE_ALWAYS,          // overwrite existing
                   FILE_ATTRIBUTE_NORMAL , // normal file
                   NULL);                  // no attr. template

if (hFile == INVALID_HANDLE_VALUE)
{
    printf("Could not open file (error %d)\n", GetLastError());
    return 0;
}
else
{
   fSuccess = WriteFile(hXMLFile,
                        buffer,
                        dwBytesRead,
                        &dwBytesWritten,
                        NULL);
   if (!fSuccess)
   {
       printf ("WriteFile failed with error %d.\n",GetLastError());
       return (5);
   }
    // Close the handles to the files.
    fSuccess = CloseHandle (hXMLFile);
    if (!fSuccess)
    {
     printf ("CloseHandle failed with error %d.\n",GetLastError());
     return (8);
    }
}

il me dit deja que mon handle est un int !!!!
 error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque
 error C2040: 'hXMLFile' : les niveaux d'indirection de 'int' et de 'HANDLE' sont différents
error C2440: 'initialisation' : impossible de convertir de 'HANDLE' en 'int'

un probleme avec les propriété du projet?

 
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
23 avril 2007 à 14:52
bon j'ai relancer visual et c'est bon
il buggue parfois!!!!

 
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
24 avril 2007 à 11:41
NB: N'oublie pas de cliquer sur "Réponse acceptée" pour fermer le topic...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Rejoignez-nous