XML 子项未反序列化
本文关键字:反序列化 XML | 更新日期: 2023-09-27 18:32:19
public class MenuNavigationItem
{
public int Code { get; set; }
public string Name { get; set; }
public int Parent { get; set; }
public int No { get; set; }
public int ParentCode { get; set; }
public string Level { get; set; }
public string PageName { get; set; }
public string ObjectName { get; set; }
[XmlArray(ElementName = "MenuNavigationItem")]
public List<MenuNavigationItem> Children { get; set; }
}
<MenuNavigationItem Code="4" Name="Products">
<Parent>0</Parent>
<No>4</No>
<ParentCode>0</ParentCode>
<Code>4</Code>
<Level>1</Level>
<Name>Products</Name>
<!-- Product HarvestMax-->
<MenuNavigationItem Code="41" Name="HarvestMax">
<Parent>4</Parent>
<No>41</No>
<ParentCode>4</ParentCode>
<Code>41</Code>
<Level>2</Level>
<Name>HarvestMax</Name>
<MenuNavigationItem Code="411" Name="Quote">
<Parent>41</Parent>
<No>411</No>
<ParentCode>41</ParentCode>
<Code>411</Code>
<Level>3</Level>
<Name>Quote</Name>
<PageName>GBCOPersonalLines'GBCOPersonalLinesProducts'GBCOHOBrowse.aspx?ObjectType=Q</PageName>
<ObjectName>GBCOHO</ObjectName>
<HotKey>Q</HotKey>
</MenuNavigationItem>
</MenuNavigationItem>
我得到的产品的孩子,不是把HarvestMax放进去,而是把HarvestMax的孩子放进去。真奇怪。
是什么原因造成的,我该如何解决?
已解决
我需要使用XmlElement
而不是XmlArray
属性。然后它完美地工作了。