Экспорт в XML treeview c чекбоксами (док внутри) - C#
Формулировка задачи:
Добрый день!
Есть treeView с корневыми нодами и ветками. У treeview включено свойство CheckBoxes, т.е. каждый нод является чекбоксом. Нужно экспортировать этот treeview в XML, также импортировать обратно.
Использую вот такой немецкий класс, он работает:
Проблемка в том, что нужно, чтобы и данные о чекбоксах (включен или выключен) экспортировались в XML. Подскажите, что нужно подправить в методах XmlRekursivExport и XmlRekursivImport?
p.s. в названии темы опечатка: "
public class XmlHandler { XmlDocument xmlDocument; public XmlHandler() { } public void TreeViewToXml(TreeView treeView, String path) { xmlDocument = new XmlDocument(); xmlDocument.AppendChild(xmlDocument.CreateElement("ROOT")); XmlRekursivExport(xmlDocument.DocumentElement, treeView.Nodes); xmlDocument.Save(path); } public void XmlToTreeView(String path, TreeView treeView) { xmlDocument = new XmlDocument(); xmlDocument.Load(path); treeView.Nodes.Clear(); XmlRekursivImport(treeView.Nodes, xmlDocument.DocumentElement.ChildNodes); } private XmlNode XmlRekursivExport(XmlNode nodeElement, TreeNodeCollection treeNodeCollection) { XmlNode xmlNode = null; foreach (TreeNode treeNode in treeNodeCollection) { xmlNode = xmlDocument.CreateElement("TreeViewNode"); xmlNode.Attributes.Append(xmlDocument.CreateAttribute("value")); xmlNode.Attributes["value"].Value = treeNode.Text; if (nodeElement != null) nodeElement.AppendChild(xmlNode); if (treeNode.Nodes.Count > 0) { XmlRekursivExport(xmlNode, treeNode.Nodes); } } return xmlNode; } private void XmlRekursivImport(TreeNodeCollection elem, XmlNodeList xmlNodeList) { TreeNode treeNode; foreach (XmlNode myXmlNode in xmlNodeList) { treeNode = new TreeNode(myXmlNode.Attributes["value"].Value); if (myXmlNode.ChildNodes.Count > 0) { XmlRekursivImport(treeNode.Nodes, myXmlNode.ChildNodes); } elem.Add(treeNode); } } }
код
внутри"Решение задачи: «Экспорт в XML treeview c чекбоксами (док внутри)»
textual
Листинг программы
treeNode.Checked = Convert.ToBoolean(myXmlNode.Attributes["checked"].Value);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д