将Xml文件递归加载到TreeView中
#region 【通过xdocument的方式将xml文件递归到treeview控件中】
//读取xml文件(xdocument)
//1.加载xml文件
xdocument document=xdoument.load("文件名称.xml");
//2.先获取跟节点
xelement rootelement=doucment.root;
//3.将xml文件加载到treeview的根节点上
treenode rootnode=treeview1.nodes.add(rootelement.name.tostring());
//通过调用loadxmlelement() 方法递归加载
loadxmltreeview(rootelement,rootnode.nodes);
#endregion
//通过xdocument的方式将xml元素递归加载到treeview上
private void loadxmltreeview(xelement rootelement,treenodecollection treenodecollection)
{
//获取根元素rootelement 下的所有子元素
//rootelement.elements()
//遍历rootelement下的所有子元素(直接元素)
foreach(xelement item in rootelement.elements())
{
if(item.elements().count()==0)
{
treenodecollection.add(item.name.tostring()).nodes.add(item.value);
}else
{
//将当前元素加载到treeview的节点集合中
treenode node=treenodecollection.add(item.name.tostring());
loadxmltreeview(item,node.nodes);
}
}
}
#region 【通过xmldocument的方式将xml文件递归到treeview控件中】
//1.加载xml文件到xmldocument对象
xmldocument xmldocument= new xmldocument();
//将xml加载到xmldocument对象上
xmldocument.load("文件名称.xml");
//得到xml的根节点(根元素)
xmlelement xmlelement= document.documentelement;
//先把xml的跟元素加载到treeview中
treenode treenode= treeview1.nodes.add(xmlelement.name);
//实现递归方法将xml文件加载到treeview中
loadtotreexmldocument(xmlelement,treenode.nodes);
#endregion
private void loadtotreexmldocument(xmlelement xmlelement , treenodecollection treenodecollection)
{
//喜欢xmlelent下所有子元素加载到treenodecollection集合中
foreach(xmlnode item in xmlelement.chilnode)
{
//在此之前要判断一下当前节点是什么类型的节点
if(item.nodetype==xmlnodetype.elment)
{
//如果当前节点是一个“元素”节点,则把当前节点加载到treeview中
treenode node = treenodecollection.add(item.name);
//递归调用
loadtotreeviewxmldocument((xmlelement)item,node.nodes);
}
else if (item.nodetype==xmlnodetype.text|item.nodetype==xmlnodetype.cdata)
{
treenodecollection.add(item.innertext);
}
}
}
上一篇: 波塞冬:古希腊神话中的海神,宙斯的哥哥,哈迪斯的弟弟
下一篇: 伽色尼王朝:一个强大的*国家