nelle mie applicazioni di carattere automazione industriale uso spesso oggetti xml per salvare e leggere dati dall'hd , invece di usare file di testo
Ti scrivo in breve un paio di metodi col quale puoi leggere e scrivere un file xml all'interno di un'applicazione:
private void LeggiSetting()
{
XmlDocument docsave=new XmlDocument ();
docsave.Load ("C:\\xxx\\Settings\\Set.xml");
nfarlocco=docsave.FirstChild ;
root2=nfarlocco.NextSibling ;
nob1=root2.FirstChild ;
//nob2=nob1.NextSibling ;
//int r =Convert.ToInt16 (nob1.Attributes ["r"].Value);
//int g =Convert.ToInt16 (nob1.Attributes ["g"].Value);
//int b =Convert.ToInt16 (nob1.Attributes ["b"].Value);
//this.BackColor =(Color.FromArgb (r,g,b));
lastpath=nob1.Attributes ["Name_Prog"].Value;
}
//nodofarlocco , lo chiamo cosi perche devo dichararlo nella gerarchia del file xml , sarebbe la dichiarazione
"1.0", "UTF-8", "" , che nel documento e' il primo nodo
In sostanza il rpimo noddo assoluto e' lo stesso xmldocument, segue la dichiarazione e poi tutti i nodi messi in sequenza voluta con i loro attributi
Ricordati che come lo scrivi devi leggerlo , altrimenti
si solleveranno delle eccezioni , il sostanza se dichari un certo nodo , figlio di un altro e via dicendo , guardati con IE6.0 come viene scritto se hai dei dubbi e poi leggi e prepari la gerarchia in base a quello .
private void SalvaSettings()
{
try
{
XmlDocument docsave = new XmlDocument();
nDocsave= docsave.CreateXmlDeclaration("1.0", "UTF-8", "");
XmlAttribute asave;
docsave.AppendChild(nDocsave);
root2=docsave.CreateElement ("Root2");
nob1=root2.FirstChild ;
nob2=root2.NextSibling ;
nob1=docsave.CreateElement("Form1");
nob2=docsave.CreateElement("TEMP");
asave=docsave.CreateAttribute ("Name_Prog");
asave.Value=lastpath;
nob1.Attributes.SetNamedItem(asave);
root2.AppendChild (nob1);
root2.AppendChild (nob2);
docsave.AppendChild (root2);
docsave.Save ("C:\\xxx\\Settings\\Set.xml");
}
catch(Exception f)
{
MessageBox.Show ("Errore",f.Message );
}
}
Poi avendo tempo si posson scoprire altre cose come xmlpath , aggiungere nodi all'interno di un documento , fare ricerche , "copiare" un intero databse su xml ,
creare dataset su un file xml, e da qui disegnare datagrid, salvare da un datagrid, serializzare un file xml in un flusso di byte , spedire questi byte con socket , riceverli , ricreare dataset , colonne e righe , ridisegnare datagrid , ect ect ect
Uno spasso .....
Spero che queste 4 righe possano farti comprendere la funzionalita legata alla realta , lavoraci sopra, sbagliando e migliorando , creando , ma soprattuto no aver paura di fare errori , al limite non parte l'applicazione o scateni qualche eccezione ma non farai del male a nessuno .
ciao
walter