public NavSiteMapNode(NavSiteMapNode node)
     : this()
 {
     // TODO: Complete member initialization
     this.ID          = node.ID;
     this.Url         = node.Url;
     this.Title       = node.Title;
     this.Description = node.Description;
     this.ResourceKey = node.ResourceKey;
     this.Enable      = node.Enable;
     this.Selected    = node.Selected;
     this.Popup       = node.Popup;
 }
        private List <NavSiteMapNode> ParseNodes(IEnumerable <XElement> elements)
        {
            List <NavSiteMapNode> result = new List <NavSiteMapNode>();

            foreach (XElement item in elements)
            {
                if (item.Name.LocalName == "siteMapNode")
                {
                    NavSiteMapNode node = ParseNode(item);
                    result.Add(node);
                    if (item.Elements().Count() > 0)
                    {
                        node.Nodes = ParseNodes(item.Elements());
                    }
                }
            }

            return(result);
        }