我在通过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}站点服务器关系