C# Tips | XML・設定ファイル:XMLをSerializeする

C# C#
スポンサーリンク
スポンサーリンク
  1. 「XMLをSerializeする」とは、オブジェクトをそのままXMLに変換する仕組みです
  2. ステップ1:まず「XMLにしたいクラス」を用意する
    1. シンプルな設定クラスを例にします
  3. ステップ2:XmlSerializer の基本的な使い方を知る
    1. オブジェクトをXML文字列に変換する
    2. 実際に使ってみる
  4. ステップ3:XMLの形を確認しながら「シリアライズの仕組み」を理解する
    1. XmlSerializerは「公開プロパティ」をXMLに変換します
  5. ステップ4:XMLのタグ名や構造をカスタマイズする(重要な深掘り)
    1. ルート要素名を変える:[XmlRoot]
    2. 要素名を変える:[XmlElement]
    3. 属性として出力する:[XmlAttribute]
  6. ステップ5:デシリアライズ(XML → オブジェクト)もセットで考える
    1. XMLからオブジェクトに戻す基本コード
    2. 使い方の例
  7. ステップ6:業務で使える「XMLシリアライズユーティリティ」を作る
    1. ジェネリックなユーティリティクラスの例
    2. 使い方の例(業務でのイメージ)
  8. ステップ7:XMLシリアライズで注意すべきポイント(重要な深掘り)
    1. 1. 引数なしコンストラクタが必要
    2. 2. シリアライズ対象は「公開プロパティ」
    3. 3. セキュリティ(Secretの扱い)
  9. ステップ8:XMLシリアライズを「設定・連携・バッチ」でどう活かすか
  10. まとめ:XMLシリアライズユーティリティは「オブジェクトとXMLの橋渡し役」です

「XMLをSerializeする」とは、オブジェクトをそのままXMLに変換する仕組みです

業務・実務でC#を使っている読者のみなさんにとって、 XMLは「設定ファイル」「外部システムとの連携」「バッチの入出力」などで今もよく使われます。

そのときに便利なのが、 XMLシリアライズ(XML Serialize) です。

これは一言でいうと、

C#のオブジェクト(クラスのインスタンス)を、そのままXMLテキストに変換する仕組み

です。

逆に、XMLからオブジェクトに戻す処理は デシリアライズ(Deserialize) と呼びます。

ここでは、プログラミング初心者の方にも分かるように、 XMLシリアライズの基本から、業務で使えるユーティリティ化までを ステップバイステップで解説していきます。

ステップ1:まず「XMLにしたいクラス」を用意する

シンプルな設定クラスを例にします

まずは、XMLにしたいクラスを定義します。 ここでは、アプリケーション設定を表すクラスを例にします。

public class AppSettings
{
    public string ApplicationName { get; set; } = "";
    public int MaxRetryCount { get; set; }
    public DatabaseSettings Database { get; set; } = new DatabaseSettings();
}

public class DatabaseSettings
{
    public string Server { get; set; } = "";
    public string User { get; set; } = "";
    public string Password { get; set; } = "";
}
C#

この AppSettings をXMLにシリアライズすると、 次のようなイメージのXMLになります。

<AppSettings>
  <ApplicationName>SampleApp</ApplicationName>
  <MaxRetryCount>3</MaxRetryCount>
  <Database>
    <Server>db01.example.com</Server>
    <User>appuser</User>
    <Password>P@ssw0rd</Password>
  </Database>
</AppSettings>

この「オブジェクト → XML」の変換を自動でやってくれるのが、 XmlSerializer です。

タイトルとURLをコピーしました