我有填充從deserilizatiopn從XML列表的問題。我反序列化XML到列表<>爲空
這是我的類對象(客戶端):
[Serializable, XmlRoot("Groups"), XmlType("Groups")]
public class Groups
{
public Groups()
{
group = new List<Group>();
}
[XmlArray("Items")]
[XmlArrayItem("Group", typeof(Group))]
public List<Group> group { get; set; }
}
[XmlType("Group")]
public class Group
{
[XmlElement("GroupRef")]
public Guid GroupRef;
[XmlElement("Name")]
public string Name;
[XmlElement("Description")]
public string Description;
}
這是代碼Deserializethings:
XmlSerializer serializer = new XmlSerializer(typeof(Groups));
var groups = (Model.Groups)serializer.Deserialize(reader);
這是XML:
<Groups>
<Group>
<GroupRef>00000000-0000-0000-0000-000000000000</GroupRef>
<Name>Todays Work</Name>
<Description>System</Description>
</Group>
<Group>
<GroupRef>00000000-0000-0000-0000-000000000000</GroupRef>
<Name>All</Name>
<Description>System</Description>
</Group>
<Group>
<GroupRef>00000000-0000-0000-0000-000000000000</GroupRef>
<Name>Unassigned</Name>
<Description>System</Description>
</Group>
</Groups>
我沒有得到任何錯誤但對象計數爲零?
您的xml結構中沒有任何Items-Tag,但是您將列表定義爲Items – CSharpie
@CSharpie嗨,感謝您的評論。我在最後時刻添加了Item標籤(絕望)。在添加之前,它給了我相同的結果。 –
https://msdn.microsoft.com/en-us/library/hh371548(v=vs.110).aspx Visual Studio可以從XML生成 –