程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 讀寫XML文件的內容並將其顯示在ListView控件上的辦法

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

編輯:C#入門知識

讀寫XML文件的內容並將其顯示在ListView控件上的辦法。本站提示廣大學習愛好者:(讀寫XML文件的內容並將其顯示在ListView控件上的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是讀寫XML文件的內容並將其顯示在ListView控件上的辦法正文


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控件上的辦法就是分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved