2

インタビューで次の質問がありました。

  • XMLシリアル化について説明します。

XMLシリアル化とは何かわかりません。いくつかのサイトを調べましたが、XMLシリアル化についての(短く明確な)説明が見つかりませんでした。

誰かがXMLシリアル化とは何かを説明できますか?XMLシリアル化について明確に把握し、この質問があったときはいつでも自信を持って将来のインタビューに立ち向かう準備ができるようになると助かります。

4

5 に答える 5

3

次のようなクラスがあるとします。

Public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int age { get; set; }
}

そして、このクラスのオブジェクトは次のようになります。

Person Student = new Person();
Student.FirstName = "John";
Student.LastName = "Smith";
Student.age= 24;

次に、xmlでオブジェクトStudentをシリアル化します。次のXMLファイルを出力として取得します。

<Person>
    <FirstName>John</FirstName>
     <LastName >Smith</LastName >
    <age>24</age>  
</Person>

XMLを逆シリアル化して、元のオブジェクトを出力として取得できます。

つまり、クラスとXMLの間の変換のようなものです。ところで、XMLファイルは通常テキストファイルです。

于 2012-07-23T16:31:20.347 に答える
2

これは、オブジェクトをXML形式に変換して、HTTPおよびその他のトランスポートプロトコルを介して転送したり、その他の目的で保存したりできるようにすることを意味します。XML異なるシステム間のデータ転送フォーマットと見なされます(異なる言語でも開発されています)。あるアプリから別のアプリにXML形式でデータを送信できます。ほとんどのWebServicesは、XML形式でデータを返します。さまざまなクライアントがこれらのWebサービスメソッドにアクセスできます。これは、Webサービスが入力されるデータのXML形式を処理するだけなので、Webサービスがどのプラットフォーム/言語で記述されているかを気にする必要がありません。

詳細:http://msdn.microsoft.com/en-us/library/182eeyhh.aspx

于 2012-07-23T16:28:50.137 に答える
2

Youssefの答えを拡張するために、次のようにして、シリアル化されたXMLの記述方法を指定することもできます。

[XmlRoot("RootElementsName")]
Public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int age { get; set; }
}

これにより、次のようなXMLが生成されます。

<RootElementsName>
    <FirstName>John</FirstName>
     <LastName >Smith</LastName >
    <age>24</age>  
</RootElementsName>

さまざまなXML修飾子の詳細については、http://msdn.microsoft.com/en-us/library/e123c76wを参照してください。

于 2012-07-23T16:50:12.707 に答える
1

ウィキペディアでの定義は、それが得るのとほぼ同じくらい良いです:

シリアル化は、データ構造またはオブジェクトの状態を、同じまたは別のコンピューター環境に保存して(たとえば、ファイルまたはメモリバッファーに、またはネットワーク接続リンクを介して送信して)後で「復活」できる形式に変換するプロセスです。 。

Xmlシリアル化は、ストレージおよびトランスポート形式としての単なるシリアル化Xmlです。

于 2012-07-23T16:54:18.187 に答える
0

まず、C#でシリアル化が重要である理由を理解する必要があります。c#アプリケーションを実行すると、C#オブジェクトが作成されます。ある時点で、後で使用できるように永続化することをお勧めします。たとえば、Firefoxダウンローダーのようなアプリケーションを作成している場合です。あなたがそれを閉じるとき、あなたがそれをダウンロードしている途中であるならば、あなたはそれを最後の閉じた状態でリロードすることができます。

したがって、バイナリシリアル化と呼ばれるハードディスクのステータスを保持したい場合。xmlシリアル化と呼ばれるワイヤーを介してオブジェクトを送信する場合

于 2012-07-23T16:58:29.430 に答える