関連記事
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
- 【#CSHARP】次の案件のスケルトン書いてgitサーバに登録するなどと 【2023年05月16日(火)】
いつもお世話になっている,どぼん.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 […]