ホームページ >バックエンド開発 >C++ >XMLをC#クラスに脱着するにはどうすればよいですか?

XMLをC#クラスに脱着するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-02-02 17:26:13978ブラウズ

How to Deserialize XML into C# Classes?

c#xmlの再生:フルガイド

背景:

再生とは、シリアル化されたデータを元のオブジェクト形式に変換するプロセスを指します。この記事では、XML構造を示すカスタムC#クラスにXMLドキュメントを識別する方法を紹介するための完全なガイドを提供します。

再生プロセス:

クラス構造を定義します:XMLドキュメント構造を反映するC#クラスを作成します。

およびを使用して、XML要素をクラス属性にマッピングします。
  1. [Serializable]デリバティブロジックを作成します:[XmlElement]メソッドを実装すると、XMLドキュメントが
  2. クラスのインスタンスにシリアル化されます。
<code class="language-csharp">[Serializable()]
public class Car
{
    [XmlElementAttribute("StockNumber")]
    public string StockNumber { get; set; }

    [XmlElementAttribute("Make")]
    public string Make { get; set; }

    [XmlElementAttribute("Model")]
    public string Model { get; set; }
}

[XmlRootAttribute("Cars", IsNullable = false)]
public class Cars
{
    [XmlArrayItem(typeof(Car))]
    public Car[] Car { get; set; }
}</code>
  1. 代替方法: Cars別の方法は、XSD(XMLモード定義)を使用して、XML構造に準拠するC#クラスを生成することです。
<code class="language-csharp">public class CarSerializer
{
    public Cars Deserialize(string path)
    {
        // 读取XML文件
        XmlSerializer serializer = new XmlSerializer(typeof(Cars));
        using (StreamReader reader = new StreamReader(path))
        {
            // 将XML反序列化到Cars对象
            return (Cars)serializer.Deserialize(reader);
        }
    }
}</code>
xmlファイルをディスクに保存

XSDモードを生成:

C#コードを生成します:
  • foo.xmlこれにより、XML構造を持つC#クラスが含まれるが作成されます。
  • xsd foo.xml使用代替実装:
  • xsd foo.xsd /classes上記の手順を通じて、XMLデータをC#オブジェクトに簡単に分析して、後続の処理と使用を容易にすることができます。
  • は実際のXMLファイルパスに置き換えられていることに注意してください。

以上がXMLをC#クラスに脱着するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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