• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#にてlistView1からXMLファイルへ書込み方法について)

C#でlistView1からXMLファイルへの書き込み方法について

このQ&Aのポイント
  • C#のlistView1からXMLファイルへのデータの書き込み方法について教えてください。
  • listView1に表示されているデータをXMLファイルに書き込む方法を教えてください。
  • C#のプログラムでlistView1のデータをXMLファイルに保存する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kb-nike
  • ベストアンサー率36% (72/200)
回答No.2

出力が少し異なりますが… ボタンを設置し、それをクリックするとxmlファイルを書き出す設定にしています。 using System.XML; を追加する必要があります。 private void button1_Click(object sender, EventArgs e) { //XMLファイル名 string fName = @"C:\person.xml"; XmlTextWriter writer = new XmlTextWriter(fName, Encoding.UTF8); writer.Formatting = Formatting.Indented; writer.WriteStartDocument(true); writer.WriteStartElement("Data"); int iCount = listView1.Items.Count; string id, name, age, sex; for(int i=0; i<iCount; i++){ id = listView1.Items[i].SubItems[0].Text; name = listView1.Items[i].SubItems[1].Text; age = listView1.Items[i].SubItems[2].Text; sex = listView1.Items[i].SubItems[3].Text; writer.WriteStartElement("p"); writer.WriteAttributeString("id", id); writer.WriteAttributeString("name", name); writer.WriteAttributeString("age", age); writer.WriteAttributeString("sex", sex); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndDocument(); //閉じる writer.Close(); } ----------------------------------------------------- 出力ファイルの内容: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <Data> <p id="1" name="A" age="50" sex="男" /> <p id="2" name="B" age="40" sex="女" /> <p id="3" name="C" age="60" sex="男" /> </Data>

ndckenji
質問者

お礼

ありがとうございます。

その他の回答 (2)

  • kb-nike
  • ベストアンサー率36% (72/200)
回答No.3

A No.2の追記: 名前の後ろの「さん」は listView1 に書き込んでいなかった(普通、ここで「さん」づけはしないだろうと思った)ので、出力されなかっただけです。

回答No.1

まず,ViewとModelの分離をしてください。 ListViewの内容を出力するのではなく, Modelの内容をListViewが表示しているのだからModelを出力すればよいのです。 あとは,ModelをXMLとして出力するだけです。 XmlSerializerあたりに任せればそれなりの形式で出力してくれます。

ndckenji
質問者

補足

申し訳ないけど、それどうやって出来ますか? すみませんが、ソース教えて戴けませんか?お願いいたします。

関連するQ&A