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