Nullable value with xsd.exe generated class回答为什么生成的类具有*指定的字段和属性,以及它如何用于序列化 XML文件,但是如何在反序列化?
我有一个生成的类,定义如下:
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.caiso.com/soa/2006-06-13/StandardOutput.xsd")]
public partial class EventLog {
private System.DateTime creationTimeField;
private bool creationTimeFieldSpecified;
/// <remarks/>
public System.DateTime creationTime {
get {
return this.creationTimeField;
}
set {
this.creationTimeField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool creationTimeSpecified {
get {
return this.creationTimeFieldSpecified;
}
set {
this.creationTimeFieldSpecified = value;
}
}
}
您可以看到this.creationTimeFieldSpecified;
的设置工具中未设置creationTime
。那么,如何使用xsd.exe生成一个类,以便我可以反序列化XML,并检查是否提供了值?
我知道其他工具:xsd2code,wscfblue,XmlSchemaClassGenerator等;但随着Visual Studio的每次发布或更新,可能会发生更改,或者不支持加载项。我想知道是否有一种生成类的方法,以便反序列化可以利用这些属性。
Dislaimer :
我无权更改xsd,它们可以随时更新,因为任何需要重新生成类的原因,结果类可能长达数千行,不需要手动干预