怎么样将TreeView数据导出为XML数据? 来源:www.45fan.com 2016-09-07 12:54:04 怎么样将TreeView数据导出为XML数据? /**//*------------------------------------------------------------- *作者:刘晓松 *版本:1.0.0 *日期:2006.10.29 *描述:将TreeView中导出为XML数据 -------------------------------------------------------------*/ usingSystem; usingSystem.Collections; usingSystem.IO; usingSystem.Windows.Forms; namespaceTreeViewExport ...{ /**////<summary> ///将TreeView中导出为XML数据 ///</summary> publicclassTreeViewToXmlB ...{ //XML每行的内容 privatestringxmlLine=""; //用于写XML文件 privateStreamWritersr; /**////<summary> ///构造函数 ///</summary> publicTreeViewToXmlB() ...{ } /**////<summary> ///将TreeView中导出为XML数据 ///</summary> ///<paramname="tv">TreeView控件</param> ///<paramname="filename">XML文件的保存路径</param> publicvoidexportToXml(TreeViewtv,stringfilename) ...{ sr=newStreamWriter(filename,false,System.Text.Encoding.UTF8); //写文件头部内容 //下面是生成RSS的OPML文件 sr.WriteLine("<?xmlversion="1.0"encoding="UTF-8"?>"); sr.WriteLine("<opmlversion="1.0">"); sr.WriteLine("<head>"); sr.WriteLine("<title>RSS</title>"); sr.WriteLine("</head>"); sr.WriteLine("<body>"); //遍历根节点 foreach(TreeNodenodeintv.Nodes) ...{ if(node.GetNodeCount(true)==0) ...{ xmlLine=GetRSSText(node); } else ...{ xmlLine=GetDirectoryText(node); } sr.WriteLine(xmlLine); //递归遍历节点 parseNode(node); } //写文件尾部内容 sr.WriteLine("</body>"); sr.WriteLine("</opml>"); sr.Close(); } //递归遍历节点内容,最关键的函数 privatevoidparseNode(TreeNodetn) ...{ IEnumeratorie=tn.Nodes.GetEnumerator(); while(ie.MoveNext()) ...{ TreeNodectn=(TreeNode)ie.Current; //为最底层节点,即该节点为RSS节点 if(ctn.GetNodeCount(true)==0) ...{ xmlLine=GetRSSText(ctn); sr.WriteLine(xmlLine); } else//不是最底层节点,即该节点为目录节点 ...{ xmlLine=GetDirectoryText(ctn); sr.WriteLine(xmlLine); } //如果还有子节点则继续遍历 if(ctn.GetNodeCount(true)>0) ...{ parseNode(ctn); } } sr.WriteLine("</outline>"); } //成生RSS节点的XML文本行 privatestringGetRSSText(TreeNodenode) ...{ //根据Node属性生成XML文本 stringrssText="<outlinetype="rss"text=""+node.Text+""xmlUrl="URL"/>"; returnrssText; } //成生目录节点的XML文本行 privatestringGetDirectoryText(TreeNodenode) ...{ //根据Node属性生成XML文本 stringdirectoryText="<outlinetext=""+node.Text+"">"; returndirectoryText; } } } 推荐阅读 做交互稿需要注意什么? 如何在Flask框架中制作blog系统? 如何使用python制作websocket服务器? 怎么样使用Python制作糗事百科爬虫? 如何设计平面设计中的毛笔字? 如何使用InDesign制作拼图背景效果? 如何通过indesign制作目录带省略号? 怎么样在indesign中制作自定义编号? InstallShield X制作安装程序杂记的经验 怎么样通过Asp.net 2.0使用Global.asax制