0
我有從Web服務請求進來的以下XML。De序列化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;}
...
}
這兩者從創建和刪除繼承和類稱爲Resource
其中包含一個Operation
屬性的類。
public class Resource
{
public Operation {get; set;}
}
我想將XML反序列化爲類Operation
的正確具體實現。
我已經試過
using (var reader = XmlReader.Create(new StringReader(xmlData)))
{
return (T)new XmlSerializer(typeof(T)).Deserialize(reader);
}
其中T
是類型Resource
,但無濟於事(Operation
屬性始終null
)。請有人指出我正確的方向嗎?