XMLファイルの内容を読み、ListViewコントロールに表示する方法


XMLファイルは内容とマークから構成されています。包囲内容をマークすることによって、大部門の内容を元素に含める[1]。XMLのノードはプログラム構成に柔軟な拡張を行いやすく、特に配列形式の設定情報がある場合、行または列を増やすにはXMLファイルを変更するだけでソースコードを変更する必要はありません。
1.XMLファイルの紹介
(1)声明
XMLドキュメントの最初の行はXML宣言[1]であり、これはファイルのオプション部分であり、XMLファイルとして認識され、ツールと人間のXML認識に役立ちます。この声明を簡単に<?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ファイルの読み込み
Xml Dcument doc=new Xml Dcument();
doc.Load(「UICConfig.xml」);    //Xmlファイルの読み込み
(3)ルートノードの取得
XmlElement rootElem=doc.Docment Element;
(4)ノード配列の取得
ノード配列はルートノードをベースにしており、ルートノードではタグに従ってその内容を配列に打ち込む。
Xml NodeList Columnperson Nodes=rootElem.GetElements ByTagName;
(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ファイルの書き込みは、ルートノードからスタートしてマーク配列を見つけ、マーク配列を巡回して対応する値を修正し、最後に保存します。
Form 1にクローズイベントを追加し、このイベントで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コントロールに表示する方法は、小編集が皆さんのすべての内容を共有することです。参考にしていただければ幸いです。どうぞよろしくお願いします。