將Xml文件遞歸加載到TreeView中

  #region 【經過XDocument的方式將Xml文件遞歸到TreeView控件中】node

  //讀取Xml文件(XDocument)xml

  //1.加載Xml文件對象

  XDocument  document=XDoument.Load("文件名稱.xml");遞歸

  //2.先獲取跟節點it

  XElement  rootElement=doucment.Root;io

  //3.將Xml文件加載到TreeView的根節點上foreach

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

 

  }

}

相關文章
相關標籤/搜索