약 .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 파일에 간단하게 추가 할 수 있다는 것을 알았지 만, 분리 된 객체로 deserialize하는 것은 문제가된다고 말한 것입니다. – BradStevenson
@BradStevo 내 업데이트 된 코드를 확인하십시오. –