欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年02月07日 11:43:01   投稿:jingxian  
下面小編就為大家?guī)硪黄x寫XML文件的內容并將其顯示在ListView控件上的方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

XML文件由內容和標記組成。通過標記包圍內容的方式將大部門內容包含在元素中[1]。XML的節(jié)點便于程序配置進行靈活的擴展,特別是存在以數組格式的配置信息時,增加行或列只需要修改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)根節(jié)點創(chuàng)建

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

(3)子節(jié)點

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

<?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文件讀取的邏輯是從根節(jié)點出發(fā),根據標記找到標記數組,然后遍歷標記數組,將對應值讀取出來。為了讓現實結果更加直觀,就將結果顯示在上一篇文章提到的ListView控件上。

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

using System.Xml;

(2)加載xml文件

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

(3)獲取根節(jié)點

XmlElement rootElem = doc.DocumentElement;

(4)獲取節(jié)點數組

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

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

(5)遍歷節(jié)點數組并將值顯示在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;  //獲取根節(jié)點
      XmlNodeList ColumnpersonNodes = rootElem.GetElementsByTagName("colname"); //獲取列節(jié)點數組
      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"); //獲取行節(jié)點數組 
      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文件的寫入和讀取的邏輯一樣,從根節(jié)點出發(fā),根據標記找到標記數組,然后遍歷標記數組,修改對應的值,最后保存。

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

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
      XmlDocument doc = new XmlDocument();
      doc.Load("UIConfig.xml");  //加載Xml文件 
      //得到listview現有的列尺寸
      XmlElement rootElem = doc.DocumentElement;  //獲取根節(jié)點
      XmlNodeList ColumnpersonNodes = rootElem.GetElementsByTagName("colvalue"); //獲取person子節(jié)點集合 
      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控件上的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • C#中 城市線路圖的純算法以及附帶求極權值

    C#中 城市線路圖的純算法以及附帶求極權值

    本篇文章介紹了,在C#中城市線路圖的純算法以及附帶求極權值的方法,需要的朋友參考下
    2013-04-04
  • C# 判斷文件路徑的后綴

    C# 判斷文件路徑的后綴

    本文主要介紹了C# 判斷文件路徑的后綴,,通過解析文件名并檢查其擴展名來判斷文件的后綴是否為.dcm,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • 如何在C#中使用指針

    如何在C#中使用指針

    這篇文章主要介紹了如何在C#中使用指針,文中代碼簡單易懂,幫助大家更好的工作和學習,感興趣的朋友快來了解下
    2020-06-06
  • C#實現自動識別URL網址的方法

    C#實現自動識別URL網址的方法

    這篇文章主要介紹了C#實現自動識別URL網址的方法,涉及C#操作URL地址的相關技巧,需要的朋友可以參考下
    2015-05-05
  • 通過App.xaml理解wpf中的Application類

    通過App.xaml理解wpf中的Application類

    這篇文章主要介紹了通過App.xaml理解wpf中的Application類,幫助大家更好的理解和學習使用c# wpf,感興趣的朋友可以了解下
    2021-04-04
  • C#實現屏幕拷貝的方法

    C#實現屏幕拷貝的方法

    這篇文章主要介紹了C#實現屏幕拷貝的方法,實例分析了兩種常用的屏幕拷貝實現技巧,需要的朋友可以參考下
    2015-06-06
  • C#調用WinRar執(zhí)行rar、zip壓縮的方法

    C#調用WinRar執(zhí)行rar、zip壓縮的方法

    這篇文章主要介紹了C#調用WinRar執(zhí)行rar、zip壓縮的方法,涉及C#針對winrar的判斷與調用技巧,需要的朋友可以參考下
    2015-05-05
  • c# 接口interface基礎入門小例子

    c# 接口interface基礎入門小例子

    用于描述類的功能,類似于契約,指示了類將:執(zhí)行的工作,形參類型,返回結果類型,但本身沒有執(zhí)行的代碼
    2013-04-04
  • C#算法之實現阿姆斯特朗數

    C#算法之實現阿姆斯特朗數

    這篇文章介紹了C#實現阿姆斯特朗數的算法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-02-02
  • C#實現較為實用的SQLhelper

    C#實現較為實用的SQLhelper

    這篇文章主要為大家詳細介紹了C#實現較為實用SQLhelper的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評論