閱讀關於.Net Serialization
。
[Serializable]
class Person
{
public int Age { get; set; }
public string Name { get; set; }
}
[Serializable]
class Address
{
public string City { get; set; }
}
static public void SerializeToXML(Person p, Address add)
{
IFormatter formatter = new BinaryFormatter();
using (FileStream stream = new FileStream(@"C:\data.xml", FileMode.Create, FileAccess.Write, FileShare.None))
{
formatter.Serialize(stream, p);
formatter.Serialize(stream, add);
}
}
static void DeserializeFromXML()
{
IFormatter formatter = new BinaryFormatter();
using (FileStream stream = new FileStream(@"C:\data.xml", FileMode.Open, FileAccess.Read, FileShare.None))
{
Person p = (Person)formatter.Deserialize(stream);
Address add = (Address)formatter.Deserialize(stream);
}
}
用途:
Person p = new Person { Age = 23, Name = "Ram" };
Address add = new Address { City = "Khurja,India" };
SerializeToXML(p, add);
DeserializeFromXML();
這種方式可以序列化/反序列化你想要的任何東西。
很好的答案,我已經完美地工作。雖然你知道是否有可能使用這種方法將多個對象保存到文件中,並能夠將它們反序列化爲單獨的對象?由於當前方法只是簡單地覆蓋每次xml文件。我知道我可以使用StreamWriter簡單地添加到XML文件,但正如我所說的反序列化回單獨的對象成爲一個問題然後。 – BradStevenson 2012-07-29 17:49:24
@BradStevo查看我的更新代碼。 – 2012-07-29 18:10:43