Esempio n. 1
0
        /// <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);
                }
            }
        }
Esempio n. 2
0
        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);
        }