XML(3)XDocument與XmlDocument遞歸讀取xml文件
透過XDocument與XmlDocument將xml檔案讀取到TreeView上,其中主要是用遞歸方式將xml下的元素都載入到TreeView控制項上面。
XDocument
步驟:
(1)載入xml檔
(2)取得根節點節點節點(元節點
(4)遞歸加載根元素下面的元素(這裡建立一個方法)
<span style="font-size:18px;">//1、读取xml文件(XDocument) //加载xml文件 XDocument document = XDocument.Load("list1.xml"); //2、先获取根节点 XElement rootElement = document.Root; //3、将xml的根元素加载到TreeView的根节点上 TreeNode rootNode = treeView1.Nodes.Add(rootElement.Name.ToString()); //4、递归加载 LoadXmlToTreeView(rootElement, rootNode.Nodes);</span>
XmlDocument的前三步驟與XDocument差不多,差別就是後面第四步的遞迴加載,主要從程式碼就可以看出。
<span style="font-size:18px;"> private void LoadXmlToTreeView(XElement rootElement, TreeNodeCollection treeNodeCollection) { //获取根元素rootElement下面的所有直接子元素 //rootElement.Elements(); 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()); LoadXmlToTreeView(item, node.Nodes); } } }</span>
<span style="font-size:18px;">//1、加载xml文件到对象 XmlDocument document = new XmlDocument(); //2、将xml文件加载到dom对象上 document.Load("List1.xml"); //3、获得xml根节点 XmlElement rootElement = document.DocumentElement; //将xml根元素加载到TreeView上 TreeNode rootnode = treeView1.Nodes.Add(rootElement.Name); //实现递归将xml文件加载到treeview上 LoadxmltoTreeViews(rootElement, rootnode.Nodes);</span>
<span style="font-size:18px;">private void LoadxmltoTreeViews(XmlElement rootElement, TreeNodeCollection treeNodeCollection)
{
//循环rootElement下的所有子元素加载到TreeNodeCollection集合中
foreach (XmlNode item in rootElement.ChildNodes)
{
//在继续之前需要判断一下当前节点是什么类型的节点
if (item.NodeType ==XmlNodeType .Element )
{
//如果当前节点是一个元素,则把该元素加载到TreeView上
TreeNode node= treeNodeCollection.Add(item.Name);
//递归调用
LoadxmltoTreeViews((XmlElement)item, node.Nodes);
}
else if (item.NodeType ==XmlNodeType .Text |item.NodeType ==XmlNodeType .CDATA)
{
treeNodeCollection.Add(item.InnerText);
}
}
}</span>
登入後複製rrreee
<span style="font-size:18px;">private void LoadxmltoTreeViews(XmlElement rootElement, TreeNodeCollection treeNodeCollection) { //循环rootElement下的所有子元素加载到TreeNodeCollection集合中 foreach (XmlNode item in rootElement.ChildNodes) { //在继续之前需要判断一下当前节点是什么类型的节点 if (item.NodeType ==XmlNodeType .Element ) { //如果当前节点是一个元素,则把该元素加载到TreeView上 TreeNode node= treeNodeCollection.Add(item.Name); //递归调用 LoadxmltoTreeViews((XmlElement)item, node.Nodes); } else if (item.NodeType ==XmlNodeType .Text |item.NodeType ==XmlNodeType .CDATA) { treeNodeCollection.Add(item.InnerText); } } }</span>
比總結
(1)XmlDocument要比XDocument複雜點。
(3)foreach循環中的語法糖var對XDocument能夠識別出來類型,而對於XmlDocument就不能識別出類型,但是XmlElement的父類的父類就是XmlNode。
以上就是XML(3)XDocument與XmlDocument遞迴讀取xml檔案的內容,更多相關內容請關注PHP中文網(www.php.cn)!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

XML檔可以用PPT開啟嗎? XML,即可擴展標記語言(ExtensibleMarkupLanguage),是一種廣泛應用於資料交換和資料儲存的通用標記語言。與HTML相比,XML更加靈活,能夠定義自己的標籤和資料結構,使得資料的儲存和交換更加方便和統一。而PPT,即PowerPoint,是微軟公司開發的一種用於創建簡報的軟體。它提供了圖文並茂的方

使用Python實現XML資料的合併和去重XML(eXtensibleMarkupLanguage)是一種用於儲存和傳輸資料的標記語言。在處理XML資料時,有時候我們需要將多個XML檔案合併成一個,或移除重複的資料。本文將介紹如何使用Python實現XML資料的合併和去重的方法,並給出對應的程式碼範例。一、XML資料合併當我們有多個XML文件,需要將其合

Python中的XML資料轉換為CSV格式XML(ExtensibleMarkupLanguage)是一種可擴充標記語言,常用於資料的儲存與傳輸。而CSV(CommaSeparatedValues)則是一種以逗號分隔的文字檔案格式,常用於資料的匯入和匯出。在處理資料時,有時需要將XML資料轉換為CSV格式以便於分析和處理。 Python作為一種功能強大

使用Python實現XML資料的篩選和排序引言:XML是一種常用的資料交換格式,它以標籤和屬性的形式儲存資料。在處理XML資料時,我們經常需要對資料進行篩選和排序。 Python提供了許多有用的工具和函式庫來處理XML數據,本文將介紹如何使用Python實現XML資料的篩選和排序。讀取XML檔案在開始之前,我們需要先讀取XML檔案。 Python有許多XML處理函式庫,

Python實作XML與JSON之間的轉換導語:在日常的開發過程中,我們常常需要將資料在不同的格式之間轉換。 XML和JSON是常見的資料交換格式,在Python中,我們可以使用各種函式庫來實作XML和JSON之間的相互轉換。本文將介紹幾種常用的方法,並附帶程式碼範例。一、XML轉JSON在Python中,我們可以使用xml.etree.ElementTree模

使用Python處理XML中的錯誤和異常XML是一種常用的資料格式,用於儲存和表示結構化的資料。當我們使用Python處理XML時,有時可能會遇到一些錯誤和異常。在本篇文章中,我將介紹如何使用Python來處理XML中的錯誤和異常,並提供一些範例程式碼供參考。使用try-except語句捕捉XML解析錯誤當我們使用Python解析XML時,有時候可能會遇到一些

Python解析XML中的特殊字元和轉義序列XML(eXtensibleMarkupLanguage)是一種常用的資料交換格式,用於在不同系統之間傳輸和儲存資料。在處理XML檔案時,經常會遇到包含特殊字元和轉義序列的情況,這可能會導致解析錯誤或誤解資料。因此,在使用Python解析XML檔案時,我們需要了解如何處理這些特殊字元和轉義序列。一、特殊字元和

C#開發中如何處理XML和JSON資料格式,需要具體程式碼範例在現代軟體開發中,XML和JSON是廣泛應用的兩種資料格式。 XML(可擴展標記語言)是一種用於儲存和傳輸資料的標記語言,而JSON(JavaScript物件表示)是一種輕量級的資料交換格式。在C#開發中,我們經常需要處理和操作XML和JSON數據,本文將重點放在如何使用C#處理這兩種數據格式,並附上
