/// <summary> /// This method gets the nodes from the xml nodes which are the fields needed for the NaviationDisplayInfo /// </summary> /// <param name="xml">xml node passed</param> /// <returns>the parsed navigation display info</returns> private static NavigationDisplayInfo ParseTree(XmlNode xml) { XmlNode navDisplayParamNode = xml.SelectSingleNode("./DisplayParams"); XmlNode navItemNode = xml.SelectSingleNode("./NavItem"); if (navDisplayParamNode == null) { log.Error("DisplayParams is null."); log.Error(xml.OuterXml); throw new Exception("Error: DisplayParams is null"); } // Load details (if any) of the Navigation Item. NavigationItem item = null; if (navItemNode != null) { item = NavigationItem.ParseTree(navItemNode); } NavigationDisplayParams display = NavigationDisplayParams.ParseElement(navDisplayParamNode); NavigationDisplayInfo result = new NavigationDisplayInfo(item, display); return(result); }
/// <summary> /// Gets the string for the css class node /// </summary> /// <param name="xml">the node passed from NavigationDisplayInfo</param> /// <returns>Navigation Display Params</returns> public static NavigationDisplayParams ParseElement(XmlNode xml) { XmlNode mobileNav = xml.SelectSingleNode("./MobileNav"); if (mobileNav == null) { throw new Exception("Error: MobileNav is null"); } NavigationDisplayParams result = new NavigationDisplayParams(mobileNav.InnerXml); return(result); }
/// <summary> /// Internal Constructor for NavigationDisplayInfo /// Use ParseTree to get the item /// </summary> /// <param name="item">Navigation Item</param> /// <param name="display">NavigationDisplayParams</param> private NavigationDisplayInfo(NavigationItem item, NavigationDisplayParams display) { displayParams = display; rootNavItem = item; }