- ベストアンサー
C#でlistView1からXMLファイルへの書き込み方法について
- C#のlistView1からXMLファイルへのデータの書き込み方法について教えてください。
- listView1に表示されているデータをXMLファイルに書き込む方法を教えてください。
- C#のプログラムでlistView1のデータをXMLファイルに保存する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
出力が少し異なりますが… ボタンを設置し、それをクリックすると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>
その他の回答 (2)
- kb-nike
- ベストアンサー率36% (72/200)
A No.2の追記: 名前の後ろの「さん」は listView1 に書き込んでいなかった(普通、ここで「さん」づけはしないだろうと思った)ので、出力されなかっただけです。
- Yune-Kichi
- ベストアンサー率74% (465/626)
まず,ViewとModelの分離をしてください。 ListViewの内容を出力するのではなく, Modelの内容をListViewが表示しているのだからModelを出力すればよいのです。 あとは,ModelをXMLとして出力するだけです。 XmlSerializerあたりに任せればそれなりの形式で出力してくれます。
補足
申し訳ないけど、それどうやって出来ますか? すみませんが、ソース教えて戴けませんか?お願いいたします。
お礼
ありがとうございます。