C# 从序列化的XSD架构中排除继承的类

C# 从序列化的XSD架构中排除继承的类,c#,xsd.exe,C#,Xsd.exe,我正在使用MvvmCross为一些XML数据开发一个编辑器,我正在使用System.XML.Serialization属性来注释我的MvxViewModels,以便可以轻松地将模型数据保存到XML中并从中加载 以下是我的代码库中的一个类作为示例: 使用System.Xml.Serialization; 使用MvvmCross.Core.ViewModels; 命名空间MyApp.Editor.Core.ViewModels { [XmlType(Namespace=Constants.XML_S

我正在使用MvvmCross为一些XML数据开发一个编辑器,我正在使用
System.XML.Serialization
属性来注释我的
MvxViewModel
s,以便可以轻松地将模型数据保存到XML中并从中加载

以下是我的代码库中的一个类作为示例:

使用System.Xml.Serialization;
使用MvvmCross.Core.ViewModels;
命名空间MyApp.Editor.Core.ViewModels
{
[XmlType(Namespace=Constants.XML_SCHEMA_NS,TypeName=“CanvasExamChoice”)]
公共类选项视图模型:MvxViewModel
{
bool_正确;
[XmlAttribute(Namespace=Constants.XML\u SCHEMA\u NS,AttributeName=“correct”)]
公共广播正确吗
{
获取{return\u correct;}
set{SetProperty(ref _correct,value);}
}
字符串-文本;
[XmlText(typeof(string))]
公共字符串文本
{
获取{return\u text;}
set{SetProperty(ref_text,value);}
}
}
}
但是,当我通过xsd.exe运行编译后的DLL以生成架构时,
xsd
会在架构中生成这些“空”类,因为
ChoiceViewModel
和我的其余代码都是
MvxViewModel
的子级,它是
MvxNavigatingObject
的子级,等等:


System.Xml.Serialization.XmlIgnoreAttribute
只能用于公共字段/属性。除此之外,我似乎不能使用
System.Xml.Serialization.XmlSchemaProviderAttribute
,因为MvvmCross的目标(可能是Windows 8目标)似乎使
System.Xml.Schema.XmlSchemaSet
类不可用


既然MvvmCross类对XML数据结构没有任何影响,我如何让
xsd
忽略它们呢?

也许您应该创建一个单独的、更简单的模型,并在ViewModel@Tony这就是我采用的方法。你能把这个问题变成一个正确的答案吗?这样我就可以把这个问题标记为已回答,并给予你应有的信任?我做了更多的研究,但似乎真的没有一种方法仅仅通过注释和
xsd.exe
来实现这一点。