有人可以帮我在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 中获取上个月的昨天日期?有人可以帮我解决这个问题吗?
有人可以帮我修复这个 Xcode 的 UICollection 吗?
有人可以帮我解决这个错误吗?(Xamarin.Forms)“System.Net.Http.HttpRequestException:'网络子系统已关闭'”
如何创建 C# OTA 代码以根据 ALM 中的测试计划中 Excel 中提供的路径创建文件夹。你能帮我解决这个问题吗?