/// <summary> /// Рекурсивный обход XML файла и создания дерева /// </summary> /// <param name="root"></param> /// <param name="nodes"></param> private void FillNode(XmlNode root, XMLTreeNodeList nodes) { foreach (XmlNode item in root.ChildNodes) { var node = new XMLTreeNode(); node.Name = item.Value != null ? item.Value : item.Name; nodes.Add(node); if (item.ChildNodes.Count > 0) { FillNode(item, node.Nodes); } } }
public ModelXML(FileType file) { InitializeComponent(); nodes = new XMLTreeNodeList(); TreeView.ItemsSource = nodes; _file = file; var document = new XmlDocument(); try { document.Load(file.FullName); } catch (Exception) { MessageBox.Show("Ошибка анализа XML файла"); throw; } XmlNode root = document.DocumentElement; FillNode(root, nodes); }