有人可以帮我解决这个问题吗?

时间:2013-03-13 05:39:25

标签: c# xsd.exe

我使用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。

1 个答案:

答案 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