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

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

Barbara Streisand
Barbara Streisandオリジナル
2025-01-15 15:56:47381ブラウズ

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。