C#中如何历遍XML并将值按节点次序添加到TREEVIEW 如题。要求:1.能历遍XML中所有的节点和值2.历遍之后将节点内容按相同的次序及包含关系添加到TREEVIEW中。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你个例子http://download.csdn.net/source/290733 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); } } }} 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> DataGrid的TableStyles 求教文本写入的问题... 排序后的DataGrid新增数据行问题 帮帮忙,文本输入的问提! 浏览器打开CSDN是XML的, 为什么我用WebRequest读出的却是HTML? C#里用NetworkStream.BeginRead是异步非阻塞还是异步阻塞?? 有关不能创建web应用程序的问题 更新xml文档的方法 keybd_event 只能模拟数字输入不能模拟字母输入 C#的Dialog 求C#+SQLServer代码:传参,调自定义函数,获取返回值和返回结果集。 C#捕获视频窗口双击事件
http://download.csdn.net/source/290733
{
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);
}
}
}
}
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>