我难倒如何反序列化下面的XML到实体我已经创建了:反序列化序列
<values totalcount="576">
<version>3</version>
<item>
<datetime>2/22/2016 8:35:00 PM - 8:40:00 PM</datetime>
<value channel="Outside" channelid="4">10.0000</value>
</item>
<item>
<datetime>2/22/2016 8:40:00 PM - 8:45:00 PM</datetime>
<value channel="Inside" channelid="2"/>
</item>
</values>
这些都是我所使用的类。当我反序列化,正确与正确数量的项目创建的ValueItems名单,我得到正确TOTALCOUNT和版本值但每个ValueItem对于其成员的预期值默认值代替:
public class Values
{
[XmlAttribute(AttributeName = "totalcount")]
public int TotalCount { get; set; }
[XmlElement(ElementName = "version")]
public string Version { get; set; }
[XmlElement(ElementName ="item")]
public List<ValueItem> ValueItems { get; set; }
}
public class ValueItem
{
[XmlElement(ElementName = "datetime")]
public string DateTime { get; set; }
[XmlElement(ElementName="value")]
public SensorValue Value { get; set; }
}
public class SensorValue
{
[XmlAttribute(AttributeName = "channel")]
public string Channel { get; set; }
[XmlAttribute(AttributeName = "channelid")]
public string ChannelId { get; set; }
public string Value { get; set; }
}
我我尝试用XmlArrayItem(“item”)装饰ValueItems。我已经尝试XmlArrayItem与XmlArray。我尝试用XmlType(“item”)装饰ValueItem类。
任何想法?有关使用XmlAttributes的MSDN文档不完全全面。
反序列化时抛出异常:当我添加XmlTy时不能包含匿名类型'Test.Values' pe属性与Anonymous = true。 – Emmanuel
@Canoehead你如何反序列化它?它为我工作。 – Tyress