国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

讀寫XML文件的內容并將其顯示在ListView控件上的方法

2019-10-29 21:14:09
字體:
來源:轉載
供稿:網友

XML文件由內容和標記組成。通過標記包圍內容的方式將大部門內容包含在元素中[1]。XML的節點便于程序配置進行靈活的擴展,特別是存在以數組格式的配置信息時,增加行或列只需要修改XML文件而無需修改源代碼。

1. XML文件介紹

(1)聲明

XML 文檔的第一行可以是一個 XML 聲明[1]這是文件的可選部分,它將文件識別為 XML 文件,有助于工具和人類識別 XML(不會誤認為是 SGML 或其他標記)。可以將這個聲明簡單地寫成 <?xml?>,或包含 XML 版本<?xml version="1.0"?>,甚至包含字符編碼,比如針對 Unicode 的 <?xml version="1.0" encoding="utf-8"?>。

(2)根節點創建

根節點的開始和結束標記用于包圍 XML 文檔的內容。一個文件只能有一個根節點,并且需要使用 “包裝器” 包含它[1]。

(3)子節點

字節點的開辟就沒有數量限制了,而且子節點內也可以嵌套子節點。最小的節點就是被標記的內容。

<?xml version="1.0" encoding="utf-8"?><UIList>  <column>   <colname>    <colvalue>55</colvalue>   </colname><colname>    <colvalue>85</colvalue>   </colname>  </column><row>   <rowvalue>    <columnvalue>1</columnvalue>    <columnvalue>9</columnvalue>    </rowvalue>   <rowvalue>    <columnvalue>2</columnvalue>    <columnvalue>9</columnvalue>   </rowvalue></row></UIList>

 

2. 讀取XML文件的內容并將其顯示在ListView控件上

XML文件讀取的邏輯是從根節點出發,根據標記找到標記數組,然后遍歷標記數組,將對應值讀取出來。為了讓現實結果更加直觀,就將結果顯示在上一篇文章提到的ListView控件上。

(1)最開始的一步是導入命名空間。該命名空間內有XML類,通過該類方法能夠實現XML文件的讀取。

using System.Xml;

(2)加載xml文件

XmlDocument doc = new XmlDocument();
doc.Load("UIConfig.xml");    //加載Xml文件

(3)獲取根節點

XmlElement rootElem = doc.DocumentElement;

(4)獲取節點數組

節點數組是以根節點為基礎的,在根節點中根據標記將其內容打入數組。

XmlNodeList ColumnpersonNodes = rootElem.GetElementsByTagName("colname");

(5)遍歷節點數組并將值顯示在ListView上

private void Form1_Load(object sender, EventArgs e)    {      //ListView      listView1.View = View.Details;      //XML      //加載xml文件      XmlDocument doc = new XmlDocument();      doc.Load("UIConfig.xml");  //加載Xml文件       XmlElement rootElem = doc.DocumentElement;  //獲取根節點      XmlNodeList ColumnpersonNodes = rootElem.GetElementsByTagName("colname"); //獲取列節點數組      foreach (XmlNode node in ColumnpersonNodes)      {        //將列數據寫入到ListView中        XmlNodeList subNodes = ((XmlElement)node).GetElementsByTagName("colvalue");         foreach (XmlNode subNode in subNodes)        {          //將行數據寫入到ListView中          string strWidth = subNode.InnerText;          int Width = Convert.ToInt32(strWidth);          listView1.Columns.Add(strWidth, Width, HorizontalAlignment.Center);        }      }      XmlNodeList RowpersonNodes = rootElem.GetElementsByTagName("rowvalue"); //獲取行節點數組       foreach (XmlNode node in RowpersonNodes)      {        ListViewItem lvi = new ListViewItem();//開辟行數據空間        XmlNodeList subNodes = ((XmlElement)node).GetElementsByTagName("columnvalue");         lvi.SubItems[0].Text = subNodes[0].InnerText;//將第一個值給行頭        int Count = subNodes.Count;        for (int i = 1; i < Count; i++)//遍歷第一個值之外的值        {          //將行數據寫入到ListView中          string str = subNodes[i].InnerText;          lvi.SubItems.Add(str);        }        listView1.Items.Add(lvi);      }    }

 

3. 寫入XML文件

XML文件的寫入和讀取的邏輯一樣,從根節點出發,根據標記找到標記數組,然后遍歷標記數組,修改對應的值,最后保存。

給Form1添加關閉事件,在該事件中實現XML的修改。

private void Form1_FormClosing(object sender, FormClosingEventArgs e)    {      XmlDocument doc = new XmlDocument();      doc.Load("UIConfig.xml");  //加載Xml文件       //得到listview現有的列尺寸      XmlElement rootElem = doc.DocumentElement;  //獲取根節點      XmlNodeList ColumnpersonNodes = rootElem.GetElementsByTagName("colvalue"); //獲取person子節點集合       for(int i = 0; i < this.listView1.Columns.Count; i++)      {         //將現有的列尺寸寫入xml文件        int colWidth = this.listView1.Columns[i].Width;//每一列的實際寬度         //將列數據寫入到ListView中        ColumnpersonNodes[i].InnerText = colWidth.ToString();        doc.Save("UIConfig.xml");       }        }

以上這篇讀寫XML文件的內容并將其顯示在ListView控件上的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
上一篇:C# 泛型參數轉換

下一篇:c# 委托詳解

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岐山县| 集贤县| 新乡市| 屏东县| 山东| 西安市| 安西县| 揭西县| 榆社县| 安丘市| 紫金县| 石泉县| 盱眙县| 汝阳县| 东明县| 墨玉县| 镇康县| 佛冈县| 元江| 云南省| 柘城县| 姚安县| 铁岭县| 甘泉县| 兰考县| 桐梓县| 邵武市| 波密县| 霍州市| 民乐县| 葫芦岛市| 镇康县| 海南省| 金川县| 南郑县| 闵行区| 博乐市| 峡江县| 盐边县| 新建县| 大庆市|