XML로 직렬화 된 많은 개체가 있습니다. 이제는 그들을 deserialize하고 싶습니다. 그러나 주어진 XML 문자열에 대해 형식이 무엇인지 알지 못하기 때문에이를 수행하는 방법을 알 수 없습니다.알 수없는 형식의 개체를 역 직렬화
public static Task DeserializeFromXML(string value)
{
Task task = new Task();
StringReader reader = new StringReader(value);
XmlSerializer serializer = new XmlSerializer(task.GetType());
XmlReader xmlReader = new XmlTextReader(reader);
task = (Task)serializer.Deserialize(xmlReader);
return task;
}
XmlSerializer를 생성자 결국해야 할 역 직렬화 메소드로 전달 유형을 필요로하기 때문에 나는 혼란 스러워요 : 나는 (이 경우 작업) 유형을 알고 여기에 개체입니다 내가 사용하고있는 코드입니다 Object에서 단지 역 직렬화 한 것으로 캐스팅되었지만이 시점에서 그 유형이 무엇인지는 알 수 없습니다.
.NET 1.1을 사용하고 있습니까? 그렇지 않다면,'new XmlTextReader()'대신'XmlReader.Create()'를 사용해야합니다. –
처음에 알 수없는 유형의 인스턴스를 비 직렬화하는 이유는 무엇입니까? –