从C#

时间:2017-02-14 09:50:16

标签: c# xml serialization

是否可以从多个XML文件反序列化单个对象?例如,如果我有以下类:

[XmlInclude(typeof(SubClass))]
[XmlRoot]
public class BaseClass
{
    [XmlElement]
    public virtual int CommonSetting { get; set; }
}

[XmlRoot]
public class SubClass : BaseClass
{
    [XmlElement]
    public int OtherSetting { get; set; }
}

我想反序列化' SubClass'的实例。来自XML,但我想将定义分成两个不同的文件。例如:

BaseClass.xml

<BaseClass>
    <CommonSetting>10</CommonSetting>
</BaseClass>


SubClass.xml

<SubClass>
    <OtherSetting>5</OtherSetting>
</SubClass>

其次,是否可以覆盖继承的&#39;普通&#39;设置在&#39; SubClass.xml&#39;文件。例如,如果我定义了&#39; SubClass.xml&#39;为:

<SubClass>
    <CommonSetting>5</CommonSetting>
    <OtherSetting>5</OtherSetting>
</SubClass>

然后我想要一个对象&#39; Subclass&#39;使用&#39; CommonSetting&#39; 5,而不是10。

上述情况是否可能,如果可以,我该如何解决?目前我所能做的就是反序列化一个&#39; BaseClass&#39;和&#39; SubClass&#39;单独和&#39; SubClass&#39;具有从&#39; BaseClass&#39;派生的设置的null /默认值。

0 个答案:

没有答案