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

  FORUM HardWare.fr
  Programmation
  C++

  Problème avec libxml2

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec libxml2

n°982541
belz12
Posté le 15-02-2005 à 17:55:21  profilanswer
 

Bonjour,
Je tente d'écrire un fichier xml avec un xmlwriter.
Cela marche très bien quand le fichier existe déjà mais quand il n'existe pas, le fichier se retrouve vide à la fin.
Quelqu'un peut'il m'aider ?
 
Voici le code :

Citation :


   LIBXML_TEST_VERSION
   
   int wRetour;
   CDate wDtAujourdhui = CDate();
   xmlTextWriterPtr writer;
   
   // Création du fichier de paramètres
   writer = xmlNewTextWriterFilename("Geline.xml", 0);
   
   if (writer == NULL) return -1;
   xmlTextWriterSetIndent(writer,1);
   
   wRetour = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
   if (wRetour < 0) return -2;
   
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Geline" );
   if (wRetour < 0) return -3;
   
   wRetour = xmlTextWriterWriteAttribute(writer, BAD_CAST "Version",BAD_CAST PRODUCT_VERSION);
   wRetour = xmlTextWriterWriteAttribute(writer, BAD_CAST "Date",BAD_CAST wDtAujourdhui.dtCourante("D/M/Y H:I:S" ).c_str());
   
   // On renseigne les options globales
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Options" );
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Option" );
   wRetour = xmlTextWriterWriteAttribute(writer, BAD_CAST "Nom",BAD_CAST "cFormatDate" );
   if (cFormatDate.size() != 0)  
      wRetour = xmlTextWriterWriteRaw(writer, BAD_CAST cFormatDate.c_str());
   wRetour = xmlTextWriterEndElement(writer); // Option cFormatDate
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Option" );
   wRetour = xmlTextWriterWriteAttribute(writer, BAD_CAST "Nom",BAD_CAST "cFormatHeure" );
   if (cFormatHeure.size() != 0)
      wRetour = xmlTextWriterWriteRaw(writer, BAD_CAST cFormatHeure.c_str());
   wRetour = xmlTextWriterEndElement(writer); // Option cFormatHeure
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Option" );
   wRetour = xmlTextWriterWriteAttribute(writer, BAD_CAST "Nom",BAD_CAST "cDernierFich" );
   if (cDernierFich.size() != 0)
      wRetour = xmlTextWriterWriteRaw(writer, BAD_CAST cDernierFich.c_str());
   wRetour = xmlTextWriterEndElement(writer); // Option cDernierFich
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Option" );
   wRetour = xmlTextWriterWriteAttribute(writer, BAD_CAST "Nom",BAD_CAST "cRepAffiche" );
   if (cRepAffiche.size() != 0)
      wRetour = xmlTextWriterWriteRaw(writer, BAD_CAST cRepAffiche.c_str());
   wRetour = xmlTextWriterEndElement(writer); // Option cRepAffiche
   wRetour = xmlTextWriterEndElement(writer); // Options
   
   // On renseigne les listes
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Listes" );
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Liste" );
   wRetour = xmlTextWriterWriteAttribute(writer, BAD_CAST "Nom",BAD_CAST "cFormatVid" );
   for (int i = 0; i < cFormatVid.size(); i++)
       xmlTextWriterWriteElement(writer, BAD_CAST "Item",BAD_CAST cFormatVid[i].c_str());
   wRetour = xmlTextWriterEndElement(writer); // end Liste cFormatVid
 
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Liste" );
   wRetour = xmlTextWriterWriteAttribute(writer, BAD_CAST "Nom",BAD_CAST "cFormatAud" );
   for (int i = 0; i < cFormatAud.size(); i++)
       xmlTextWriterWriteElement(writer, BAD_CAST "Item",BAD_CAST cFormatAud[i].c_str());
   wRetour = xmlTextWriterEndElement(writer); // end Liste cFormatAud
 
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Liste" );
   wRetour = xmlTextWriterWriteAttribute(writer, BAD_CAST "Nom",BAD_CAST "cGenre" );
   for (int i = 0; i < cGenre.size(); i++)
       xmlTextWriterWriteElement(writer, BAD_CAST "Item",BAD_CAST cGenre[i].c_str());
   wRetour = xmlTextWriterEndElement(writer); // end Liste cGenre
 
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Liste" );
   wRetour = xmlTextWriterWriteAttribute(writer, BAD_CAST "Nom",BAD_CAST "cLangue" );
   for (int i = 0; i < cLangue.size(); i++)
       xmlTextWriterWriteElement(writer, BAD_CAST "Item",BAD_CAST cLangue[i].c_str());
   wRetour = xmlTextWriterEndElement(writer); // end Liste cLangue
 
   wRetour = xmlTextWriterStartElement(writer, BAD_CAST "Liste" );
   wRetour = xmlTextWriterWriteAttribute(writer, BAD_CAST "Nom",BAD_CAST "cFichHisto" );
   for (int i = 0; i < cFichHisto.size(); i++)
       xmlTextWriterWriteElement(writer, BAD_CAST "Item",BAD_CAST cFichHisto[i].c_str());
   wRetour = xmlTextWriterEndElement(writer); // end Liste cFichHisto
   
   if (xmlTextWriterEndDocument(writer) < 0) return -3;
   
   xmlFreeTextWriter(writer);
   xmlCleanupParser();
   
   return 0;

mood
Publicité
Posté le 15-02-2005 à 17:55:21  profilanswer
 


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

  Problème avec libxml2

 

Sujets relatifs
Problème socket UDPDOMParser et problème avec noeud bidon
Problème Requete avec sélection par annéeprobleme isset() avec index.php
Problème de mise en forme. forum en phpbbProblème de template? (encore)
probleme d'installation TomcatProblème avec pointeur dans une structure
problème après compilation...Probleme avec structure
Plus de sujets relatifs à : Problème avec libxml2


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