是否可以使用C#XmlSerialization API以两种不同的方式存储单个类? 例如C#xmlserialization以两种不同的方式存储一个类 - 可能吗?
class Test
{
int group1_attr1;
int group1_attr2;
int group2_attr1;
}
我想有一个方式如何类字段分成两个部分(组 - 具有指定属性),并且每个我请序列化到控制哪些部分将被存储的时间。例如,如果保存为1组
<?xml version="1.0" encoding="utf-8"?>
<Test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org /2001/XMLSchema">
<group1_attr1>0</group1_attr1>
<group1_attr2>0</group1_attr2>
</Test>
如果保存为组2
<?xml version="1.0" encoding="utf-8"?>
<Test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org /2001/XMLSchema">
<group2_attr1>0</group2_attr1>
</Test>
有没有办法如何做一个“干净”的方式?如果不是在xmlserialization然后在二进制也许? 然后我想知道如何将这两个文件合并到单个Test实例中的最佳方式。 (请注意,组1和组2的字段不重叠)
你为什么不存储这些propertys in List/Dictionary 并在序列化之前重新填充该集合?如果这确实是一个问题,你应该考虑重新设计。 –
mbx
如果您创建的接口描述您在不同接口中的属性组,您可能可以使用接口驱动的XML序列化来解决此问题(另外,接口支持多继承)。想想看。干杯;) –