C#中如何历遍XML并将值按节点次序添加到TREEVIEW

jcyluck 2008-01-19 04:48:32
如题。

要求:
1.能历遍XML中所有的节点和值
2.历遍之后将节点内容按相同的次序及包含关系添加到TREEVIEW中。
...全文
158 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mslxq 2010-10-07
  • 打赏
  • 举报
回复
up,mark
chengqscjh 2008-01-21
  • 打赏
  • 举报
回复
up,mark
None465465535 2008-01-21
  • 打赏
  • 举报
回复
用递归
TNT_1st_excellence 2008-01-21
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load(@"C:\menu.xml");
TreeNode childNode = new TreeNode();
IterateXmlNodes(xmlDoc.DocumentElement, childNode);


}

private void IterateXmlNodes(XmlElement xmlfatherElement, TreeNode Node)
{
Node.Text = xmlfatherElement.Attributes[0].Value;

XmlNodeList childList = xmlfatherElement.ChildNodes;
foreach( XmlElement child in childList)
{
TreeNode childNode = new TreeNode();
childNode.Text = child.Attributes[0].Value;

IterateXmlNodes(child, childNode);

Node.ChildNodes.Add(childNode);
}

TreeView1.Nodes.Add(Node);
}



C:\menu.xml

<?xml version="1.0" encoding="UTF-8"?>
<menu name ="1">
<menu name ="1.1"/>
<menu name ="1.2">
<menu name ="1.2.1"/>
<menu name ="1.2.2"/>
<menu name ="1.2.3">
<menu name ="1.2.3.1"/>
<menu name ="1.2.3.2"/>
<menu name ="1.2.3.3"/>
</menu>
<menu name ="1.2.4"/>
</menu>
<menu name ="1.3">
<menu name ="1.3.1"/>
<menu name ="1.3.2"/>
</menu>
<menu name ="1.4"/>
<menu name ="1.5"/>
</menu>
沅江汐水 2008-01-19
  • 打赏
  • 举报
回复
private void PopulateGrid(string vstrURL)
{
if (lstExchange.Items.Count > 0)
{
lstExchange.Items.Clear();
}
XmlDocument objDoc = new XmlDocument();
objDoc.Load(vstrURL);

XmlNodeList objNL;


if (null != objDoc)
{
objNL = objDoc.SelectNodes("rss/channel/item");
if (null != objNL)
{
foreach (XmlNode XNode in objNL)
{
lstExchange.Items.Add(XNode.ChildNodes[0].InnerText);
}
}
}
}
rangeon 2008-01-19
  • 打赏
  • 举报
回复
给你个例子
http://download.csdn.net/source/290733

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧