C# 序列化和反序列化两个类似的XML,它们具有不同的根名称和名称空间,但在单个类中具有相同的元素

C# 序列化和反序列化两个类似的XML,它们具有不同的根名称和名称空间,但在单个类中具有相同的元素,c#,xml,visual-studio,xml-serialization,C#,Xml,Visual Studio,Xml Serialization,我有两段XML,它们的元素完全相同 唯一的区别在于XMLRoot名称和名称空间 我想将它们序列化为一个类。个别类的序列化工作正常,但这是一种错误的方式 XML 1根目录: <SYNCCompatibilityTranslations xsi:schemaLocation="urn:com/ProductVariety/Compatibility/Translations/v1.0 SYNCCompatibilityTranslations.xsd" xmlns:xsi

我有两段XML,它们的元素完全相同

唯一的区别在于
XMLRoot
名称和名称空间

我想将它们序列化为一个类。个别类的序列化工作正常,但这是一种错误的方式

XML 1根目录:

<SYNCCompatibilityTranslations 
     xsi:schemaLocation="urn:com/ProductVariety/Compatibility/Translations/v1.0 SYNCCompatibilityTranslations.xsd"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="urn:com/ProductVariety/Compatibility/Translations/v1.0">

XML 2根目录:

<SyncCompatibilityTranslations 
     xsi:schemaLocation="urn:ProductVariety/Sync/Compatibility/Translations/v1 SyncCompatibilityTranslations.xsd" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns="urn:ProductVariety/Sync/Compatibility/Translations/v1">

我不能使用
XMLIgnore
,区别在于XML根的情况和名称空间是不同的


谢谢,

不同的根元素名称和不同的XML名称空间意味着——它们是不同的XML文档。因此,您不能使用相同的代码对它们进行序列化—您必须有两个单独的序列化对象—每个对象一个situation@marc_s难道没有办法忽略名称空间吗?基本上,上一个已经升级,这就是为什么ns是不同的。没有XML名称空间是有一个很好的理由的!这使得这些XML文档与众不同——这就是拥有名称空间的全部意义所在@marc_s,那么当用户上传任何一个xml时,我如何确定它是哪个?看看根元素的名称——这已经是一个明显的区别了。