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的孩子放进去。真奇怪。

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

XML 子项未反序列化

已解决

我需要使用XmlElement而不是XmlArray属性。然后它完美地工作了。

相关文章: