保存CheckedItems并生成XML [英] Save CheckedItems and Build XML

查看:81
本文介绍了保存CheckedItems并生成XML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨..

我在Form1中有CheckedListbox,我在其中填充了以下代码..

Hi..

I have CheckedListbox in Form1,i am populating it with the following code..

System.IO.DirectoryInfo di = new System.IO.DirectoryInfo("E:\\Testing");
System.IO.FileSystemInfo[] files = di.GetDirectories();
checkedListBox1.Items.AddRange(files);



我想在Form2中使用这些检查项来构建XML文件...
有人可以帮我吗?



I want to bulid an XML file using these checkeditems in Form2...
Can anyone please help me ?

推荐答案

有很多方法可以做到这一点,包括使用字符串手动构建xml,创建xml文档以及解析复选框列表以产生结果.节点,序列化checkboxlist对象等

您尝试过一些东西了吗?如果是这样,对您发布所做的工作将很有用.
There are a number of ways of doing this including building the xml manually using strings, creating an xml document and parsing the checkboxlist to produce nodes, serializing the checkboxlist object etc

Have you tried something and come unstuck? If so it would be useful for you to post what you have done.


公共委托void Delmydata(XmlDocument xmldoc);
公共Delmydata myData;

私人XmlDocument dom;

私有void makeDocument()
{
dom = new XmlDocument();
XmlElement rootElement = dom.CreateElement("Media");
foreach(checkedListBox1.CheckedItems中的var objElement)
{
XmlElement subElement = dom.CreateElement("Folders");
subElement.InnerText = objElement.ToString();
rootElement.AppendChild(subElement);

}
//dom.Save("xml.xml);
dom.AppendChild(rootElement);
dom.Save("Xml.xml");
}

并以下一种形式:-

私有void BuildTreeView(XmlDocument doc)
{
treeView1.Nodes.Clear();
treeView1.Nodes.Add(新的TreeNode(doc.DocumentElement.Name));
TreeNode tNode = new TreeNode();
tNode = treeView1.Nodes [0];

//第3节.使用DOM节点填充TreeView.
AddNode(doc.DocumentElement,tNode);
treeView1.ExpandAll();

}

私有无效AddNode(XmlNode inXmlNode,TreeNode inTreeNode)
{
XmlNode xNode;
TreeNode tNode;
XmlNodeList nodeList;
int i;

//循环遍历XML节点,直到到达叶子为止.
//在循环过程中将节点添加到TreeView.
如果(inXmlNode.HasChildNodes)
{
nodeList = inXmlNode.ChildNodes;
对于(i = 0; i< = nodeList.Count-1; i ++)
{
xNode = inXmlNode.ChildNodes [i];
inTreeNode.Nodes.Add(新的TreeNode(xNode.Name));
tNode = inTreeNode.Nodes [i];
AddNode(xNode,tNode);
}
}
其他
{
//在这里,您需要根据
从XmlNode中提取数据 //节点的类型,是否需要属性值等等.
inTreeNode.Text =(inXmlNode.OuterXml).Trim();
}
}
public delegate void Delmydata(XmlDocument xmldoc);
public Delmydata myData;

private XmlDocument dom;

private void makeDocument()
{
dom = new XmlDocument();
XmlElement rootElement = dom.CreateElement("Media");
foreach (var objElement in checkedListBox1.CheckedItems)
{
XmlElement subElement = dom.CreateElement("Folders");
subElement.InnerText = objElement.ToString();
rootElement.AppendChild(subElement);

}
//dom.Save("xml.xml");
dom.AppendChild(rootElement);
dom.Save("Xml.xml");
}

And in the next form:-

private void BuildTreeView(XmlDocument doc)
{
treeView1.Nodes.Clear();
treeView1.Nodes.Add(new TreeNode(doc.DocumentElement.Name));
TreeNode tNode = new TreeNode();
tNode = treeView1.Nodes[0];

// SECTION 3. Populate the TreeView with the DOM nodes.
AddNode(doc.DocumentElement, tNode);
treeView1.ExpandAll();

}

private void AddNode(XmlNode inXmlNode, TreeNode inTreeNode)
{
XmlNode xNode;
TreeNode tNode;
XmlNodeList nodeList;
int i;

// Loop through the XML nodes until the leaf is reached.
// Add the nodes to the TreeView during the looping process.
if (inXmlNode.HasChildNodes)
{
nodeList = inXmlNode.ChildNodes;
for (i = 0; i <= nodeList.Count - 1; i++)
{
xNode = inXmlNode.ChildNodes[i];
inTreeNode.Nodes.Add(new TreeNode(xNode.Name));
tNode = inTreeNode.Nodes[i];
AddNode(xNode, tNode);
}
}
else
{
// Here you need to pull the data from the XmlNode based on the
// type of node, whether attribute values are required, and so forth.
inTreeNode.Text = (inXmlNode.OuterXml).Trim();
}
}


这篇关于保存CheckedItems并生成XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆