C#中将Xml文件在treeview中动态加载(xml中的是数据是可变的)

<Cinema><Channlname="非常完美"><Time>9:00</Time><Time>13:00</Time></Channl><Channlname="风... <Cinema>
<Channl name="非常完美">
<Time>9:00</Time>
<Time>13:00</Time>
</Channl>
<Channl name="风声">
<Time>10:00</Time>
<Time>14:00</Time>
</Channl>
<Channl name="窃听风云">
<Time>9:00</Time>
</Channl>
</Cinema>
显示的样式:非常完美
>9:00
>13:00
风声
>10:00
>14:00 ...
求代码如何写?
展开
 我来答
vic_zc
2012-01-19 · TA获得超过235个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:276万
展开全部
public Form1()
{
InitializeComponent();
string path = @"c:\test.xml";
InitialTreeView(treeView1.Nodes, path);
}
private void InitialTreeView(TreeNodeCollection nodes, string fileName)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(fileName);
TreeNode parentNode = new TreeNode();
parentNode.Text = doc.DocumentElement.Name;
foreach (XmlNode node in doc.DocumentElement.ChildNodes)
{
XmlElement xe = node as XmlElement;
TreeNode newNode = new TreeNode();
foreach (XmlAttribute attr in xe.Attributes)
{
newNode.Text = attr.Value;
}
//调用递归函数
SearchXmlDoc(node, newNode);
//添加子节点
parentNode.Nodes.Add(newNode);
}
nodes.Add(parentNode);
}
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)
{
string value = node.InnerText;
TreeNode newNode = new TreeNode();
newNode.Text = value;
SearchXmlDoc(node, newNode);
treeNode.Nodes.Add(newNode);
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
}
}
瓮皓月7
2012-01-19 · TA获得超过159个赞
知道小有建树答主
回答量:406
采纳率:0%
帮助的人:124万
展开全部
for()
{
for()
{}
}
追问
这答案 有点萌呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式