首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

转化为xml的有关问题

2012-06-27 
转化为xml的问题怎样将一个TreeView转化为XML导出?[解决办法]自己遍历节点,写到xml,跟LINQ没关系 ,treevie

转化为xml的问题

怎样将一个TreeView转化为XML导出?



[解决办法]
自己遍历节点,写到xml,跟LINQ没关系 ,treeview的nodes不能用LINQ
[解决办法]
可以用对象

XmlSerializer 序列化与反序列化XML 这样操作更方便
[解决办法]

C# code
XmlTextWriter tw;public void WriteXML(TreeNodeCollection tc){    foreach (TreeNode Node in tc)    {        WriteOneXML(Node);        WriteXML(Node.Nodes);        tw.WriteEndElement();    }} private void WriteOneXML(TreeNode Node){    string objid = Node.Tag.ToString();    string objName = Node.Text;     tw.WriteStartElement("cantoncode" + (Node.Level + 1));    tw.WriteAttributeString("cantoncode", objid);    tw.WriteAttributeString("cantonname", objName); } private void button3_Click(object sender, EventArgs e){     string fileName = @"C:/cantoncode.xml";    tw = new XmlTextWriter(fileName, null);    tw.Formatting = Formatting.Indented;    tw.WriteStartDocument();     tw.WriteStartElement("cantoncode");    WriteXML(treeView1.Nodes);     tw.WriteEndElement();    tw.WriteEndDocument();    tw.Flush();    tw.Close();}
[解决办法]
最简单的把 TreeNode.Text 保存为 Xml 节点名的例子
C# code
// 方法private static void TreeToXml(TreeNodeCollection tree, XmlDocument xmlDoc, XmlNode xml){    foreach (TreeNode item in tree)    {        XmlNode node = xml.AppendChild(xmlDoc.CreateElement(item.Text));        TreeToXml(item.Nodes, xmlDoc, node);    }}// 调用XmlDocument xmlDoc = new XmlDocument();xmlDoc.AppendChild(xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null));XmlNode root = xmlDoc.AppendChild(xmlDoc.CreateElement("root"));TreeToXml(某TreeView.Nodes, xmlDoc, root);xmlDoc.Save("保存路径"); 

热点排行