private static void loadElement(XmlElement elem, Element parent, List <Element> elementList) { Element el = new Element(elem, parent, elem.Name.StartsWith("container")?"elem":""); elementList.Add(el); foreach (XmlNode node in elem.ChildNodes) { if ((node.NodeType != XmlNodeType.Element) || CascadedAttribute.IsSpecialTag(node.Name)) { continue; } loadElement((XmlElement)node, el, elementList); } }