0
我有一个类用于通过XMLSerializer序列化和反序列化。 ExportSteps是另一个实现用于自定义序列化的IXmlSerializer的类。XMLSerializer没有读取所有元素
我的问题是它读取exportSteps后不读取和设置任何属性。如果我将IsNew和Test2移动到上面的步骤,它工作正常。我不认为这是一个有效的解决方案,但是如果我需要两个自定义的序列化类呢?
public class PublishOptions
{
[XmlElement("test")]
public bool Test { get; set; }
[XmlElement("exportSteps")]
public ExportSteps Steps { get; set; } <-- implements IXmlSerializable
[XmlElement("isNew")]
public bool IsNew { get; set; }
[XmlElement("test2")]
public bool Test2{ get; set; }}
}
var test = serializer.Deserialize(stream) as PublishOptions;
XML(实施例):
<publishingOptions>
<test>true</test>
<exportSteps>
<option>foo</option>
<option>bar</option>
</exportSteps>
<isNew>true</isNew>
<test2>true</test2>
</publishingOptions>
什么是XML结构看起来像沙阿也代替流你有没有想过使用XMLReader – MethodMan 2013-02-26 17:48:26
编辑与示例XML。请注意,这是一个简化版本。 – Shah 2013-02-26 19:10:47
在你的示例中,你说这个元素被命名为'exportOptions',并且在你的代码中你标明了'exportSteps'这是一个错字?它们应该匹配名称,否则在尝试反序列化时可能导致内部错误。 – 2013-02-26 19:33:01