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

C# C#
スポンサーリンク
スポンサーリンク
  1. 「XMLをDeserializeする」とは、XMLから“使えるオブジェクト”を復元することです
  2. ステップ1:まず「どんなXMLをオブジェクトにしたいか」をイメージする
    1. 設定ファイルとしてのXMLを例にします
  3. ステップ2:XMLに対応するクラスを定義する
    1. クラス構造=XML構造、という対応を意識します
  4. ステップ3:XmlSerializer を使ってXMLをオブジェクトに変換する基本
    1. デシリアライズの最もシンプルなコード
    2. 実際の使い方
  5. ステップ4:XmlSerializer がどうやってXMLを読むかを理解する
    1. 公開プロパティをXMLの要素に対応させます
  6. ステップ5:XMLの形が仕様で決まっている場合のカスタマイズ(重要な深掘り)
    1. ルート要素名を変える:[XmlRoot]
    2. 要素名を変える:[XmlElement]
    3. 属性から読み込む:[XmlAttribute]
  7. ステップ6:ジェネリックな「XMLデシリアライズユーティリティ」を作る
    1. 汎用的なユーティリティクラスの例
    2. 使い方の例
  8. ステップ7:XMLデシリアライズで注意すべきポイント(重要な深掘り)
    1. 1. 引数なしコンストラクタが必要です
    2. 2. XMLの構造が変わるとデシリアライズに失敗します
    3. 3. セキュリティ(信頼できないXMLをどう扱うか)
  9. ステップ8:バリデーションを組み合わせて「信頼できる設定・データ」にする
    1. 簡単なバリデーションの例
    2. デシリアライズ+バリデーションの流れ
  10. まとめ:XMLデシリアライズユーティリティは「外部XMLを業務コードが扱える形に変える入口」です

「XMLをDeserializeする」とは、XMLから“使えるオブジェクト”を復元することです

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

そのときに重要になるのが、 XMLデシリアライズ(XMLをDeserializeする) という考え方です。

これは一言でいうと、

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

です。

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

ステップ1:まず「どんなXMLをオブジェクトにしたいか」をイメージする

設定ファイルとしての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を、C#のクラスに読み込んで、

settings.ApplicationName   // "SampleApp"
settings.MaxRetryCount     // 3
settings.Database.Server   // "db01.example.com"
C#

のように扱えるようにするのが「XMLをDeserializeする」処理です。

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