ホームページ > バックエンド開発 > C++ > XmlSerializer を使用して XML を C# オブジェクトに逆シリアル化する方法

XmlSerializer を使用して XML を C# オブジェクトに逆シリアル化する方法

Barbara Streisand
リリース: 2025-01-15 15:56:47
オリジナル
379 人が閲覧しました

How to Deserialize XML into C# Objects Using XmlSerializer?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート