2016-01-27 94 views
-1
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子不反序列化

這是什麼原因造成的?我該如何解決?

回答

0

解決

我需要使用XmlElement而不是XmlArray屬性。然後它完美地工作。