有人可以帮我在c#中解决这个问题吗

Posted

技术标签:

【中文标题】有人可以帮我在c#中解决这个问题吗【英文标题】:Can someone help me solve this in c# 【发布时间】:2013-02-28 22:43:42 【问题描述】:

我使用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】:

您问题的第一部分。

inform.Event = es;

您问题的第二部分,这是我的一些代码,适合您的情况。

反序列化:

XmlSerializer serializer = new XmlSerializer(typeof(Inform));
Inform ifnorm = null;
using (StreamReader sr = new StreamReader((FileName))

    inform = (Inform)serializer.Deserialize(sr)

我想你可以从这个链接到documentation 找出序列化。

【讨论】:

inform.Event 的类型是 EventList,而不是 EventStruct。我没有看到EventStruct 类型的任何字段;但是,我们看到的是部分类。此处未显示的EventStruct 的另一部分是否源自EventList 您可能需要执行以下操作来添加事件:inform.Event.Add(es); inform.Event = es;不对而且inform.Event没有Add方法 我不能从 EventList 派生任何类型 好的,试试inform.Event[0] = es;

以上是关于有人可以帮我在c#中解决这个问题吗的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL Server 中获取上个月的昨天日期?有人可以帮我解决这个问题吗?

有人可以帮我解决这个 uibutton 错误吗? [复制]

有人可以帮我修复这个 Xcode 的 UICollection 吗?

有人可以帮我解决这个错误吗?(Xamarin.Forms)“System.Net.Http.HttpRequestException:'网络子系统已关闭'”

有人可以帮我解释一些逻辑吗?

如何创建 C# OTA 代码以根据 ALM 中的测试计划中 Excel 中提供的路径创建文件夹。你能帮我解决这个问题吗?