bonjour a tous le monde
et merçi "
Bidou" pour votre aide ;j'ai enfin arriver a une solution aprés une long et dire recherche,voila la solution:
Dans la classe "Table" qui hérite de Usercontrole j'ai implemente 3 methods :
public System.Xml.Schema.
XmlSchema GetSchema()
{
return
null;
}
public void ReadXml(System.Xml.
XmlReader reader)
{
//Pas encor programmer }
public void WriteXml(System.Xml.XmlWriter writer)
{
int i = 0;
writer.WriteStartDocument();
writer.WriteStartElement(
"Table");
writer.WriteElementString(
"NomTable", nomTable);
writer.WriteElementString(
"Nom_Table", nom_Table);
writer.WriteStartElement(
"Attributs");
foreach (
Attributs val in Details)
{
writer.WriteStartElement(
"Attribut" + i);
writer.WriteElementString
("ClePrimaire", Convert.ToString(val.clePrimaire));
writer.WriteElementString(
"NomAttribut", val.nomAttribut);
writer.WriteElementString(
"TypeAttribut", val.typeAttribut);
writer.WriteElementString(
"CleEtranger", Convert.ToString(val.cleEtrangere));
writer.WriteEndElement(); // close Items tag
i++;
}
writer.WriteEndElement(); // close Items tag
writer.WriteEndElement(); // close Items tag
writer.WriteEndDocument();
writer.Flush();
writer.Close();
}
et les lignes d'appel du form1 c'est:
foreach (
Table tbl in this.panel1.Controls)
{
XmlTextWriter writer = new XmlTextWriter(sfdEnregistrer.FileName, null);
writer.Formatting = Formatting.Indented;
tbl.WriteXml(writer);
}
Le probléme c'est que si exists 2 tables dans le "panel1.controls" il écrase les précedents, donc il reste dans le fichier les donnes de la dernier table parcourit.
Exist-il une fonction pour ouvrir le fichier xml en mode ajoute,
car je cherche partout ,j'essai XmlDocument c'est le meme probléme
et merci d'avance...

