Główna Forma:
private void MainForm_Load(object sender, EventArgs e)
{
XMLCust customer = new XMLCust();
customer = (XMLCust)XMLObj.Load(customer, null, XMLName, null);
this.tBCust.Text = customer.CustName;
}
private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
{
XMLCust customer = new XMLCust();
customer.CustName = this.tBCust.Text;
XMLObj.Save(customer, null, XMLName, null);
MessageBox.Show("Dane zostały zapisane do pliku .Xml!");
}
Klasa XMLCust
public class XMLCust
{
public string CustName { get; set; }
public XMLCust() { }
public XMLCust(string Name)
{
CustName = Name;
}
}
Klasa
class XMLObj
{
private XMLObj()
{}
public static Object Load(Object serializableObject, Type[] extraTypes, string path, IsolatedStorageFile isolatedStorageFolder)
{
using (TextReader textReader = CreateTextReader(isolatedStorageFolder, path))
{
XmlSerializer xmlSerializer = CreateXmlSerializer(serializableObject, extraTypes);
serializableObject = xmlSerializer.Deserialize(textReader);
}
return serializableObject;
}
public static void Save(Object serializableObject, Type[] extraTypes, string path, IsolatedStorageFile isolatedStorageFolder)
{
using (TextWriter textWriter = CreateTextWriter(isolatedStorageFolder, path))
{
XmlSerializer xmlSerializer = CreateXmlSerializer(serializableObject, extraTypes);
xmlSerializer.Serialize(textWriter, serializableObject);
}
}
private static TextReader CreateTextReader(IsolatedStorageFile isolatedStorageFolder, string path)
{
TextReader textReader = null;
if (isolatedStorageFolder == null)
textReader = new StreamReader(path);
else
textReader = new StreamReader(new IsolatedStorageFileStream(path, FileMode.Open, isolatedStorageFolder));
return textReader;
}
private static TextWriter CreateTextWriter(IsolatedStorageFile isolatedStorageFolder, string path)
{
TextWriter textWriter = null;
if (isolatedStorageFolder == null)
textWriter = new StreamWriter(path);
else
textWriter = new StreamWriter(new IsolatedStorageFileStream(path, FileMode.OpenOrCreate, isolatedStorageFolder));
return textWriter;
}
private static XmlSerializer CreateXmlSerializer(Object serializableObject, System.Type[] extraTypes)
{
Type ObjectType = serializableObject.GetType();
XmlSerializer xmlSerializer = null;
if (extraTypes != null)
xmlSerializer = new XmlSerializer(ObjectType, extraTypes);
else
xmlSerializer = new XmlSerializer(ObjectType);
return xmlSerializer;
}
}
No i niby wszystko się mieli, ale nie tak jak bym chciał, a chodzi głównie o prawidłowy format po deserializacji.
Z góry dzięki za podpowiedzi i poprawki.