private void LoadXMLChild(TagsStorage tagsStorage, XmlNode xmlNode) { TagsStorage newTagsStorage; TagsStorage.TagsStorageType tagsStorageType; foreach (XmlNode node in xmlNode.ChildNodes) { if (node.NodeType == XmlNodeType.Element) { if (node.Name == "tag") { tagsStorageType = TagsStorage.GetTypeFromString(node.Attributes["type"].Value); if (node.Attributes["type"] != null) { // check if node is type of object // ovo staviti pod isti i, jer je isto code if (node.Attributes["type"].Value == "object") { if (tagsStorage != null) { // if TagsStorage is not null then build nodes newTagsStorage = new TagsStorage(node.Attributes["name"].Value, tagsStorageType); tagsStorage.Add(newTagsStorage); if (node.HasChildNodes) { LoadXMLChild(newTagsStorage, node); } } else { ModuleLog.Write("Bad xml format \r\n" + node.InnerXml, this, "LoadXMLChild", ModuleLog.LogType.WARNING); } } else { if (tagsStorage != null) { // if TagsStorage is not null then build nodes newTagsStorage = new TagsStorage(node.Attributes["name"].Value, tagsStorageType); tagsStorage.Add(newTagsStorage); if (node.HasChildNodes) { LoadXMLChild(newTagsStorage, node); } } else { ModuleLog.Write("Bad xml format \r\n" + node.InnerXml, this, "LoadXMLChild", ModuleLog.LogType.WARNING); } } } else { ModuleLog.Write("Bad xml format \r\n" + node.InnerXml, this, "LoadXMLChild", ModuleLog.LogType.WARNING); } } else if (node.Name == "syntax") { tagsStorage.Syntax = node.InnerText; } else if (node.Name == "result") { //lblResult.Text = "Result: " + node.InnerText; } else if (node.Name == "example") { //lblExample.Text = "Example: " + node.InnerText; } else if (node.Name == "desctiption") { tagsStorage.Desctiption = node.InnerText; } else { if (node.HasChildNodes) { LoadXMLChild(tagsStorage, node); } } } } }