IXmlSerializable インターフェイスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > IXmlSerializable インターフェイスの意味・解説 

IXmlSerializable インターフェイス

XML シリアル化および逆シリアル化カスタム書式提供します

名前空間: System.Xml.Serialization
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

Public Interface IXmlSerializable
Dim instance As IXmlSerializable
public interface IXmlSerializable
public interface class IXmlSerializable
public interface IXmlSerializable
public interface IXmlSerializable
解説解説

このインターフェイス実装する理由2 つあります1 つ目は、XmlSerializer によるオブジェクトシリアル化または逆シリアル化制御するためです。たとえば、大きデータセットバッファリングする代わりにデータバイト単位チャンク処理できますまた、データBase64 エンコーディング使用してエンコードされるときに増大するのを回避できますシリアル化制御するには、ReadXml メソッドおよび WriteXml メソッド実装して、XML読み取りと書き込み使用される XmlReader クラスおよび XmlWriter クラス制御します。この例については、「方法 : シリアル化されたデータチャンクする」のトピック参照してください

2 つ目の理由は、スキーマ制御可能にするためです。これを可能にするには、シリアル化できる型に XmlSchemaProviderAttribute を適用しスキーマ返す静的メンバの名前を指定する必要があります例については、XmlSchemaProviderAttribute参照してください

このインターフェイス実装するクラスには、パラメータなしのコンストラクタ使用されている必要があります。このことは、XmlSerializer クラス必須要件です。

使用例使用例

プライベート フィールドシリアル化する IXmlSerializable インターフェイス実装する方法次のコード例示します

using System;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;


public class Person : IXmlSerializable
{

    // Private state

    private string personName;
       

    // Constructors

    public Person (string name)
    {
        personName = name;
    }

    public Person ()
    {
        personName = null;
    }


    // Xml Serialization Infrastructure

    public void WriteXml (XmlWriter writer)
    {
        writer.WriteString(personName);
    }

    public void ReadXml (XmlReader reader)
    {
        personName = reader.ReadString();
    }

    public XmlSchema GetSchema()
    {
        return(null);
    }

  
    // Print

    public override string ToString()
    {
        return(personName);
    }

}
#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
using namespace System::Xml::Serialization;
public ref class Person: public
 IXmlSerializable
{
private:

   // Private state
   String^ personName;

public:

   // Constructors
   Person( String^ name )
   {
      personName = name;
   }

   Person()
   {
      personName = nullptr;
   }

   // Xml Serialization Infrastructure
   virtual void WriteXml( XmlWriter^ writer )
   {
      writer->WriteString( personName );
   }

   virtual void ReadXml( XmlReader^ reader )
   {
      personName = reader->ReadString();
   }

   virtual XmlSchema^ GetSchema()
   {
      return nullptr;
   }

   // Print
   virtual String^ ToString() override
   {
      return (personName);
   }
};
import System.*;
import System.Xml.*;
import System.Xml.Schema.*;
import System.Xml.Serialization.*;

public class Person implements IXmlSerializable
{
    // Private state
    private String personName;

    // Constructors
    public Person(String name)
    {
        personName = name;
    } //Person

    public Person()
    {
        personName = null;
    } //Person

    // Xml Serialization Infrastructure
    public void WriteXml(XmlWriter writer)
    {
        writer.WriteString(personName);
    } //WriteXml
    public void ReadXml(XmlReader reader)
    {
        personName = reader.ReadString();
    } //ReadXml

    public XmlSchema GetSchema()
    {
        return null;
    } //GetSchema

    // Print
    public String ToString()
    {
        return personName;
    } //ToString
} //Person 
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「IXmlSerializable インターフェイス」の関連用語

IXmlSerializable インターフェイスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



IXmlSerializable インターフェイスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS