我使用xsd.exe / classes cwmp-1-1.xsd生成c#代码。
该工具生成以下代码。
public partial class Array
{
[System.Xml.Serialization.XmlAnyElementAttribute()]
public System.Xml.XmlElement[] Any;
[System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
public string arrayType;
[System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
public string offset;
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool offsetSpecified;
[System.Xml.Serialization.XmlAttributeAttribute(DataType = "ID")]
public string id;
[System.Xml.Serialization.XmlAttributeAttribute(DataType = "anyURI")]
public string href;
[System.Xml.Serialization.XmlAnyAttributeAttribute()]
public System.Xml.XmlAttribute[] AnyAttr;
}
public partial class EventList : Array
{
}
public partial class EventStruct
{
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string EventCode;
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string CommandKey;
}
public partial class Inform
{
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public DeviceIdStruct DeviceId;
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public EventList Event;
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public uint MaxEnvelopes;
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public System.DateTime CurrentTime;
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public uint RetryCount;
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public ParameterValueList ParameterList;
}
和我的代码
Inform inform = new Inform();
inform.Event = new EventList();
EventStruct es = new EventStruct();
es.EventCode = "0 BOOTSTRAP";
es.CommandKey = "";
我的问题是如何将es
添加到inform.Event
以及如何序列化/反序列化类Inform。
答案 0 :(得分:0)
问题的第1部分。
inform.Event = es;
问题的第二部分,这是我的一些代码,适合您的情况。
反序列化:
XmlSerializer serializer = new XmlSerializer(typeof(Inform));
Inform ifnorm = null;
using (StreamReader sr = new StreamReader((FileName))
{
inform = (Inform)serializer.Deserialize(sr)
}
我认为您可以从此链接找出序列化documentation。