C# オブジェクトから XML へ

王林
リリース: 2024-09-03 15:04:45
オリジナル
671 人が閲覧しました

シリアル化は、オブジェクトの状態を保存または送信できる形式に変換するプロセスです。 C# では、XmlSerializer クラスを使用してオブジェクトを XML 形式にシリアル化できます。 C# オブジェクトを XML 表現に変換できるため、インターネット経由での転送が容易になり、ファイルへの書き込みが簡素化されます。

構文:

XmlSerializer variable_name = new XmlSerializer();
ログイン後にコピー

ここで、variable_name は XmlSerializer クラスのインスタンスを表します。

C# でオブジェクトを XML に変換する手順は次のとおりです:

  • オブジェクトの状態をハード ドライブ、ストリームなどの何らかの形式のメディアに保存するプロセスはシリアル化と呼ばれ、オブジェクトは XML 形式でシリアル化できます。
  • オブジェクトを XML に変換できるようにするには、指定されたオブジェクトを XML 形式にシリアル化する XmlSerializer() 関数と呼ばれる関数と、シリアル化された XML 文字列を出力する XmlTextWriter() 関数と呼ばれる別の関数を使用します。
  • オブジェクトのシリアル化を実行すると、オブジェクトをインターネット経由で転送できるようになり、ファイルへの書き込みが容易になり、複雑なサービスを効率的に実行できるようになります。

XML へのオブジェクトの例について説明します。

例 #1

指定されたオブジェクトを XML 形式に変換し、指定された場所に保存されている XML ファイルに内容を書き込み、ファイルの内容を表示する C# プログラム:

コード:

using System.Xml.Serialization;
using System.IO;
//a class called Country is defined within which the two strings are defined
public class Country
{
public string name = "India";
public string capital = "New Delhi";
}
//main method is called
static void Main(string[] args)
{
//an instance of the class country is created
Country c = new Country();
//an instance of the XmlSerializer class is created
XmlSerializer inst = new XmlSerializer(typeof(Country));
//an instance of the TextWriter class is created to write the converted XML string to the file
TextWriter writer = new StreamWriter(@ "C:\Users\admin\Desktop\check.xml");
inst.Serialize(writer, c);
writer.Close();
}
ログイン後にコピー

上記のプログラムの出力は、以下のスナップショットに示されているとおりです。

C# オブジェクトから XML へ

最後に、プログラムは、提供されたスナップショットに示されているように、ファイルの内容を XML 形式で画面上の出力として表示します。

例 #2

指定されたオブジェクトを XML 形式に変換し、指定された場所に保存されている XML ファイルに内容を書き込み、ファイルの内容を表示する C# プログラム:

コード:

using System.Xml.Serialization;
using System.IO;
//a class called Learning is defined within which the two strings are defined
public class Learning
{
public string organization = "EDUCBA";
public string topic = "C#";
}
//main method is called
static void Main(string[] args)
{
//an instance of the class Learning is created
Country c = new Learning();
//an instance of the XmlSerializer class is created
XmlSerializer inst = new XmlSerializer(typeof(Learning));
//an instance of the TextWriter class is created to write the converted XML string to the file
TextWriter writer = new StreamWriter(@ "C:\Users\admin\Desktop\check.xml");
inst.Serialize(writer, c);
writer.Close();
}
ログイン後にコピー

上記のプログラムの出力は、以下のスナップショットに示されているとおりです。

C# オブジェクトから XML へ

指定されたプログラムでは、「Learning」という名前のクラスが 2 つの文字列、「organization」と「topic」を定義します。次に、プログラムは、提供されたスナップショットに示すように、ファイルの XML 形式の内容を出力として画面に表示します。

例 #3

指定された C# オブジェクトを XML 形式に変換し、指定された場所に保存されている XML ファイルに内容を書き込み、ファイルの内容を表示する C# プログラム:

コード:

using System.Xml.Serialization;
using System.IO;
//a class called University is defined within which the two strings are defined
public class University
{
public string name = "VTU";
public string stream = "BE";
}
//main method is called
static void Main(string[] args)
{
//an instance of the class University is created
Country c = new University();
//an instance of the XmlSerializer class is created
XmlSerializer inst = new XmlSerializer(typeof(University));
//an instance of the TextWriter class is created to write the converted XML string to the file
TextWriter writer = new StreamWriter(@ "C:\Users\admin\Desktop\check.xml");
inst.Serialize(writer, c);
writer.Close();
}
ログイン後にコピー

上記のプログラムの出力は、以下のスナップショットに示されているとおりです。

C# オブジェクトから XML へ

プログラムは、名前とストリームという 2 つの文字列を定義する University というクラスを定義します。次に main メソッドを呼び出し、XmlSerializer クラスのインスタンスを作成して、University オブジェクトを XML 形式にシリアル化します。次に、TextWriter クラスのインスタンスを作成して、変換された XML 文字列を指定された場所のファイルに書き込みます。最後に、ファイルの内容が XML 形式で画面上の出力として表示されます。

結論 – C# オブジェクトを XML に変換

この記事では、定義、構文、プログラミング例とその出力を通じてオブジェクトを XML に変換する手順を通じて、XmlSerializer() 関数を使用したオブジェクトの XML への変換の概念を学習しました。

以上がC# オブジェクトから XML への詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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