【发布时间】:2016-12-20 05:00:53
【问题描述】:
我正在尝试从字符串中解析 XML 消息。 我得到的字符串是这个 -
<Instance_Updated>
<Instance>
<Field Name="INSTANCE_LABEL">00010541</Field>
<Field Name="MAT_ID">TEST</Field>
<Field Name="DEVICE_ID">TEST</Field>
</Instance>
<Item>
<Field Name="MATERIAL_ID">TEST</Field>
<Field Name="TITLE">TEST</Field>
<Field Name="ON_AIR_DURATION">A</Field>
</Item>
</Instance_Updated>
InstanceUpdated 类本身是:
[XmlType("Instance_Updated"), Serializable]
public class InstanceUpdated : SnellMessage
{
public InstanceUpdated()
{
InstanceFields = new List<Field>()
{
new Field() { Name = "INSTANCE_LABEL" },
new Field() { Name = "MAT_ID" },
new Field() { Name = "DEVICE_ID" }
};
ItemFields = new List<Field>()
{
new Field() { Name = "MATERIAL_ID" },
new Field() { Name = "TITLE" },
new Field() { Name = "ON_AIR_DURATION" }
};
}
[XmlArray("Instance")]
[XmlArrayItem("Field")]
public List<Field> InstanceFields { get; set; }
[XmlArray("Item")]
[XmlArrayItem("Field")]
public List<Field> ItemFields { get; set; }
}
[XmlType("Field"), Serializable]
public class Field
{
[XmlAttribute("Name")]
public string Name { get; set; }
[XmlText]
public string Value { get; set; }
}
当我尝试解析消息时 -
InstanceUpdated instanceUpdatedMessage = SnellMessage.Deserialize<InstanceUpdated>(i_RootMessage.ToString());
在“字段”对象中,我得到的是 NULL 值而不是字符串本身。
例如: 我假设字段 'INSTANCE_LABEL' 的 Value 属性应该是 '00010541' 但在里面我得到一个 NULL 值。
为什么会这样?
【问题讨论】:
标签: c# xml parsing serialization