45fan.com - 路饭网
首页
路由器设置
无线路由器
路由器密码
网络频道
手机频道
电脑频道
图库频道
问答中心
搜索:
智能搜索
搜索标题
您的位置
:
主页
>
网络频道
> 阅读资讯:怎么样将TreeView数据导出为XML数据?
怎么样将TreeView数据导出为XML数据?
2016-09-07 12:54:04 来源:www.45fan.com 【
大
中
小
】
怎么样将TreeView数据导出为XML数据?
/**/
/*
-------------------------------------------------------------
*作者:刘晓松
*版本:1.0.0
*日期:2006.10.29
*描述:将TreeView中导出为XML数据
-------------------------------------------------------------
*/
using
System;
using
System.Collections;
using
System.IO;
using
System.Windows.Forms;
namespace
TreeViewExport
...
{
/**/
///
<summary>
///
将TreeView中导出为XML数据
///
</summary>
public
class
TreeViewToXmlB
...
{
//
XML每行的内容
private
string
xmlLine
=
""
;
//
用于写XML文件
private
StreamWritersr;
/**/
///
<summary>
///
构造函数
///
</summary>
public
TreeViewToXmlB()
...
{
}
/**/
///
<summary>
///
将TreeView中导出为XML数据
///
</summary>
///
<paramname="tv">
TreeView控件
</param>
///
<paramname="filename">
XML文件的保存路径
</param>
public
void
exportToXml(TreeViewtv,
string
filename)
...
{
sr
=
new
StreamWriter(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
(TreeNodenode
in
tv.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();
}
//
递归遍历节点内容,最关键的函数
private
void
parseNode(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文本行
private
string
GetRSSText(TreeNodenode)
...
{
//
根据Node属性生成XML文本
string
rssText
=
"
<outlinetype="rss"text="
"
+
node.Text
+
"
"xmlUrl="URL"/>
"
;
return
rssText;
}
//
成生目录节点的XML文本行
private
string
GetDirectoryText(TreeNodenode)
...
{
//
根据Node属性生成XML文本
string
directoryText
=
"
<outlinetext="
"
+
node.Text
+
"
">
"
;
return
directoryText;
}
}
}
本文地址:
http://www.45fan.com/a/question/73652.html
Tags:
制作
阅读
RSS
编辑:路饭网
上一篇:
解决CHM木马的方法
下一篇:
使用虚拟Linux来测试应用程序的方法
相关文章列表
怎么样使用Python制作糗事百科爬虫?
如何设计平面设计中的毛笔字?
如何使用InDesign制作拼图背景效果?
如何通过indesign制作目录带省略号?
怎么样在indesign中制作自定义编号?
InstallShield X制作安装程序杂记的经验
怎么样通过Asp.net 2.0使用Global.asax制
如何使用makefile制作六?
《明朝那些事儿》内容介绍及推荐
制作RPM包的方法
推广内容
推荐阅读
热门推荐
推荐文章
·
欢乐颂五美晒合照 齐呼:We are back!!
·
Google AdSense广告业务也被干扰,掉包严
·
京东和淘宝二者对比有什么区别?
·
输入新浪微博的验证码老是错误怎么办?
·
google adsense打不开怎么办?免翻墙打开
·
在淘宝网买东西要注意哪些事项?网友必备
·
阿里提供免费公共DNS服,阿里公共dns地址
·
如何进行小米真人认证?小米官方真人认证
·
怎么用PS制作出真实的眼睛?
·
招财宝有什么作用?招财宝不仅仅是余额宝
·
路饭网官方微信公众平台开通啦!赶快扫描
·
路由器连接检测工具 检测电脑上不了网的
关于我们
|
联系我们
|
友情链接
|
网站地图
|
Sitemap
|
App
|
返回顶部