XML序列化错误:2个类型都使用来自命名空间“”的XML类型名称“关系”

我在通过XML序列化时遇到了一个问题,因为两个类使用了一个名为Relationship的类(尽管不同的类!)。我已尝试使用XML属性用另一个名称装饰其中的1个类,但它仍然会出现以下错误:

{“类型’SiteServer.Relationship’和’LocalServer.Relationship’都使用来自命名空间”的XML类型名称’Relationship’。使用XML属性为该类型指定唯一的XML名称和/或命名空间。“}

这是我的两门课,有人知道为什么吗??我是否使用了错误的属性?它似乎忽略了它:-)

公共类站点服务器
{
[XmlRoot(“SiteServerRelationShip”)]
公共阶级关系
{
公共字符串类型{get;set;}
}
公共字符串名称{get;set;}
公关关系=新关系();
}
公共类本地服务器
{
公共阶级关系
{
公共字符串类型{get;set;}
}
公共字符串名称{get;set;}
公关关系=新关系();
}

用XmlRoot装饰您的两个类,如下所示:

[XmlRoot(“SiteServer”,命名空间=”http://example.com/schemas/SiteServer")]
公共类站点服务器
{        
[XmlRoot(“SiteServerRelationShip”,命名空间=”http://example.com/schemas/SiteServer")]
公共阶级关系
{
公共字符串类型{get;set;}
}
公共字符串名称{get;set;}
公关关系=新关系();
}
[XmlRoot(“本地服务器”,命名空间=”http://example.com/schemas/LocalServer")]
公共类本地服务器
{
[XmlRoot(“LocalServerRelationship”,命名空间=”http://example.com/schemas/LocalServer")]
公共阶级关系
{
公共字符串类型{get;set;}
}
公共字符串名称{get;set;}
公关关系=新关系();
}

这将为两个关系类生成两个不同的FQDN:

{http://example.com/schemas/LocalServer}本地服务器关系
{http://example.com/schemas/SiteServer}站点服务器关系

发表评论