当前位置: 移动技术网 > IT编程>开发语言>.net > 将Xml文件递归加载到TreeView中

将Xml文件递归加载到TreeView中

2018年12月06日  | 移动技术网IT编程  | 我要评论

润芒gm基地,逃出俱房间,哑巴小新娘 总裁的逃妻

  #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);
    }

 

  }

}

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网