private static string GetXmlAttribute(DynamicClass prop) { switch (prop.XmlType) { case XMLType.Element: return($@"[XmlElement(""{prop.ClassName}"")]"); case XMLType.Attribute: return($@"[XmlAttribute(""{prop.ClassName}"")]"); case XMLType.PCData: return(string.Empty); default: return(string.Empty); } }
private static void ExtractClassInfo(Field node, DynamicClass parent, List <DynamicClass> prop) { DynamicClass newProp = null; if (node != null) { newProp = new DynamicClass { PropertyName = node.Name, PropertyType = node.DataType, ParentNode = parent, ClassName = node.Alias, IsParent = node.HasChildNodes(), XmlType = node.Type != null ? (XMLType)Enum.Parse(typeof(XMLType), node.Type) : XMLType.Element }; prop.Add(newProp); } foreach (var subNode in node.ChildNodes) { ExtractClassInfo(subNode, newProp, prop); } }