private void GetSubNode(CatalogNodeGroupDef groupNode, XElement groupEle) { var eles = groupEle.Elements(); if (eles == null) { return; } foreach (XElement e in eles) { string name = e.Name.LocalName.ToUpper(); switch (name) { case "CATALOGNODEGROUP": CatalogNodeGroupDef group = GetGroupNode(e); if (group != null) { groupNode.NodeDefs.Add(group); GetSubNode(group, e); } break; case "CATALOGNODE": CatalogNodeDef node = GetNode(e); if (node != null) { groupNode.NodeDefs.Add(node); } break; } } }
private CatalogDef GetExtractCatalog(XElement ele) { var eles = ele.Elements(); if (eles == null) { return(null); } string text = GetStringAttValue(ele, "text"); string classString = GetStringAttValue(ele, "class"); string identify = GetStringAttValue(ele, "identify"); List <CatalogNodeItemDef> nodes = new List <CatalogNodeItemDef>(); foreach (XElement e in eles) { string name = e.Name.LocalName.ToUpper(); switch (name) { case "CATALOGNODEGROUP": CatalogNodeGroupDef group = GetGroupNode(e); if (group != null) { nodes.Add(group); GetSubNode(group, e); } break; case "CATALOGNODE": CatalogNodeDef node = GetNode(e); if (node != null) { nodes.Add(node); } break; } } ExtractingCatalogDef catalog = new ExtractingCatalogDef(classString, text, identify); catalog.NodeDefs = nodes; return(catalog); }