Xml children 没有反序列化

Xml children not deserializing

  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>

我得到的 children 产品,不是 HarvestMax,而是 HarvestMax 的 children。真奇怪。

是什么原因造成的,我该如何解决?

已解决

我需要使用 XmlElement 而不是 XmlArray 属性。然后完美运行。