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

c#递归兑现.xml文档分级写入treeview控件

2012-11-23 
c#递归实现.xml文档分级写入treeview控件.xml格式?xml version1.0 encodingutf-8 ?rootsubject

c#递归实现.xml文档分级写入treeview控件

.xml格式

<?xml version="1.0" encoding="utf-8" ?><root><subject name="资产" type="1">         <kemu bm="101" mc="库存现金"></kemu>         <kemu bm="102" mc="银行存款"></kemu>         <kemu bm="103" mc="sssddsd">           <kemu bm="103001" mc="1111111111"></kemu>           <kemu bm="103002" mc="ded"></kemu>         </kemu></subject><subject name="负债" type="2">         <kemu bm="101" mc="库存现金"></kemu>         <kemu bm="102" mc="银行存款"></kemu>         <kemu bm="103" mc="11111">           <kemu bm="103001" mc="1111132333"></kemu>           <kemu bm="103002" mc="ddeddee"></kemu>         </kemu></subject></root>

?

c#实现

            try            {                XmlDataDocument subjectXml = new XmlDataDocument();                subjectXml.Load("Subject.xml");//读取指定的xml文档                foreach (XmlNode node in subjectXml.DocumentElement.ChildNodes)                {                    XmlElement xe = node as XmlElement;                    TreeNode newNode = new TreeNode(xe.GetAttribute("name"));                    //调用递归函数                    SearchXmlDoc(node, newNode);                    //添加子节点                    treeView1.Nodes.Add(newNode);                }            }            catch (Exception ex)            {                MessageBox.Show(ex.ToString());            }        }        /// 递归遍历xml,为treeview绑定数据        private static void SearchXmlDoc(XmlNode xmlNode, TreeNode treeNode)        {            if (xmlNode.ChildNodes.Count == 0)            {                return;            }            else            {                foreach (XmlNode node in xmlNode.ChildNodes)                {                    try                    {                        if (node.NodeType == XmlNodeType.Element)                        {                            XmlElement xe = node as XmlElement;                            TreeNode newNode = new TreeNode(xe.GetAttribute("mc"));                            SearchXmlDoc(node, newNode);                            treeNode.Nodes.Add(newNode);                        }                    }                    catch (Exception e)                    {                        Console.WriteLine(e.ToString());                    }                }            }        }

?

热点排行