XmlSerializer を使用して XML を C# オブジェクトに逆シリアル化します
この記事では、XmlSerializer
クラスを使用して XML ドキュメントをオブジェクト インスタンスに逆シリアル化する方法について説明します。次の構造を持つ XML ドキュメントがあるとします:
<code class="language-xml"><steplist><step><name>Name1</name><desc>Desc1</desc></step><step><name>Name2</name><desc>Desc2</desc></step></steplist></code>
この XML を対応するクラス モデルに逆シリアル化するには、次のクラスを定義する必要があります:
<code class="language-csharp">[XmlRoot("StepList")] public class StepList { [XmlElement("Step")] public List<Step> Steps { get; set; } } public class Step { [XmlElement("Name")] public string Name { get; set; } [XmlElement("Desc")] public string Desc { get; set; } }</code>
次に、XmlSerializer
を使用して逆シリアル化できます。サンプルのテストコードは次のとおりです:
<code class="language-csharp">string testData = @"<steplist><step><name>Name1</name><desc>Desc1</desc></step><step><name>Name2</name><desc>Desc2</desc></step></steplist>"; XmlSerializer serializer = new XmlSerializer(typeof(StepList)); using (TextReader reader = new StringReader(testData)) { StepList result = (StepList)serializer.Deserialize(reader); }</code>
テキスト ファイルから XML を逆シリアル化するには、ファイルを FileStream
にロードし、それを XmlSerializer
に渡します。
<code class="language-csharp">using (FileStream fileStream = new FileStream("<文件路径>", FileMode.Open)) { StepList result = (StepList)serializer.Deserialize(fileStream); }</code>
を XML ファイルへの実際のパスに置き換えてください。 <文件路径>
以上がXmlSerializer を使用して XML を C# オブジェクトに逆シリアル化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。