関連記事
- 【#PostgreSQL】テーブルから取得したレコードセットをCSVへ落とそうとすると,空ファイルが出来る...ドロドロドロ 【2023年03月08日(水)】
- 【#git】TortiseGit ver2.14のGitWCRev.exeを動かすとErrorCD:10を出力して,動かない 【2023年02月08日(水)】
- 【#Excel】Excel-COMを叩くアプリの改造,オワタ 【2023年01月18日(水)】
- 【#CSHARP】System.Numerics.Vectorでグリングリン,AVXレジスタをぶん回したい 【2023年01月14日(土)】
- 【#PostgreSQL】鬼のような4本のSQLを書き上げた 【2023年01月13日(金)】
いつもお世話になっている,どぼん.net
ジェネリックのList<>オブジェクトのシリアル化をやる必要が出てきたんで,
また,お伺いしてみたら...
参考例がなかったり(汗
ArrayListバージョンはあったんですが...
ジェネリックリストは,使えんじゃろか?
ってなったんで,サンプルを起して,テストしてみました
結果はOK!
ちゃんとXMLに書き出してくれますし
読み込んでもくれますです
せっかく作ったサンプル,ここに掲載しておきます
参考にしてくださいませ
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication4 { public partial class Form1 : Form { private const string FILENAME = @"X:\test.xml"; //保存内容の保持クラス(親) public class classFloor { public int RoomNo; public string RoomName; public List<classPerson> PersonList = new List<classPerson>(); } //保存内容の保持クラス(子) public class classPerson { public string Name; public int Age; public float Height; } public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { classFloor room = new classFloor(); room.RoomName = "きく組"; room.RoomNo = 201; classPerson obj = new classPerson(); obj.Name = "国仲 涼子"; obj.Age = 29; obj.Height = 157.5f; room.PersonList.Add(obj); obj = new classPerson(); obj.Name = "堀北 真希"; obj.Age = 20; obj.Height = 160.2f; room.PersonList.Add(obj); System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(classFloor)); System.IO.FileStream fs = new System.IO.FileStream(FILENAME, System.IO.FileMode.Create); serializer.Serialize(fs, room); fs.Close(); } private void button2_Click(object sender, EventArgs e) { System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer( typeof(classFloor)); System.IO.FileStream fs = new System.IO.FileStream(FILENAME, System.IO.FileMode.Open); classFloor cls = (classFloor) serializer.Deserialize(fs); fs.Close(); } } }
1件の返信
[…] http://gurizuri0505.halfmoon.jp/develop/csharp/xmlserialize […]