我在将对象反序列化为XML时遇到了一些麻烦。我试图反序列化没有空构造函数的东西,因此我需要使用BinaryFormatter?我有:
我的问题是,是否可以将此类反序列化为XML?我确实找到了一种方法:
提前致谢。我找到了一个名为FormatterServices的东西......但是不知道你是否可以将它与XmlSerializer结合使用?
答案 0 :(得分:0)
将二进制数据反序列化为对象。
将对象复制到代理对象中。
Xml序列化您的代理对象。
假设原始非xml可序列化对象的类型为“Foo”
[XmlRoot]
public class FooSurrogate {
public FooSurrogate() { }; // note the empty constructor for xml deserialization
public FooSurrogate(Foo foo) { // this constructor is used in step 2
// in here you copy foo's state into this object's state
this.Prop1 = foo.Prop1; // this prop can be copied directly
this.Bar = new BarSurrogate(foo.Bar); // this prop needs a surrogate as well
}
[XmlAttribute] // note your surrogate can be used to xml-format too!
public string Prop1 { get; set; }
[XmlElement]
public BarSurrogate Bar { get; set; }
}
public class BarSurrogate {
...
}