0
웹 서비스 요청에서 다음 XML을 가져 왔습니다.XML에서 추상 클래스 직렬화하기
<Resource>
<Create>
<Name />
<Reference />
...
</Create>
</Resource>
그러나 다음과 같은 경우도 있습니다.
<Resource>
<Delete>
<Name />
<Reference />
...
</Delete>
</Resource>
나는 다음과 같이 작동라는 기본 클래스가 있습니다
[XmlInclude(typeof(Create))]
[XmlInclude(typeof(Delete))]
public abstract class Operation
{
protected string Name {get; set;}
protected string Reference {get; set;}
...
}
하는 둘 모두 Operation
속성이 포함 Resource
이라고 생성 및 삭제에서 상속 클래스의 클래스.
public class Resource
{
public Operation {get; set;}
}
I 클래스 Operation
의 올바른 구체적인 구현에 XML을 역 직렬화하고 싶습니다.
나는 T
이 유형 Resource
입니다
using (var reader = XmlReader.Create(new StringReader(xmlData)))
{
return (T)new XmlSerializer(typeof(T)).Deserialize(reader);
}
을 시도했지만 아무 소용 (Operation
속성은 항상 null
입니다). 아무도 올바른 방향으로 나를 가리킬 수 있습니까?