IXmlSerializable.ReadXml メソッドとは? わかりやすく解説

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

IXmlSerializable.ReadXml メソッド

オブジェクトの XML 表現からオブジェクトを生成します。

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

解説解説

ReadXml メソッドは、WriteXml メソッドによって書き込まれた情報を使用して、オブジェクトを再構築する必要があります。

このメソッドが呼び出されると、リーダーは、型の情報をラップする要素の開始位置に配置されます。開始位置とは、シリアル化されたオブジェクトの先頭を示す開始タグの直前のことです。このメソッドから制御が戻ったとき、要素のすべての内容を含め、要素全体が最初から最後まで読み取られていることが必要です。WriteXml メソッドとは異なり、ラッパー要素がフレームワークによって自動的に処理されることはありません。この処理は独自に実装する必要があります。これらの配置規則に従わなかった場合、コードで、予期しないランタイム例外が生成されたり、データが破損する可能性があります。

このメソッドを実装するときは、悪意のあるユーザーが、形式は整っていても無効である XML 表現を用意してアプリケーションの動作を無効にしたり、その他の変更を行ったりする可能性について考慮する必要があります。

使用例使用例

ReadXml メソッドの実装例を次に示します。

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

XmlSerializer クラスを使用してこのオブジェクトを逆シリアル化する例を次に示します。

using System;
using System.IO;
using System.Xml.Serialization;

public class Reader {

  public static void Main()
 {
    XmlSerializer serializer = new XmlSerializer(typeof(Person));
    FileStream file = new FileStream("test.xml", FileMode.Open);
    Person aPerson = (Person) serializer.Deserialize(file);
    Console.WriteLine(aPerson);
  }

}
#using <System.Xml.dll>
#using <System.dll>
#using <Person.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;

int main()
{
   XmlSerializer^ serializer = gcnew XmlSerializer( Person::typeid );
   FileStream^ file = gcnew FileStream( "test.xml",FileMode::Open );
   Person^ aPerson = dynamic_cast<Person^>(serializer->Deserialize( file
 ));
   Console::WriteLine( aPerson );
}
import System.*;
import System.IO.*;
import System.Xml.Serialization.*;
import System.Xml.Schema.* ;
import System.Xml.XmlWriter;
import System.Xml.XmlReader;

public class Reader
{
    public static void main(String[]
 args)
    {
        XmlSerializer serializer = new XmlSerializer(Person.class.ToType());
        FileStream file = new FileStream("test.xml",
 FileMode.Open);
        Person aPerson = (Person)(serializer.Deserialize(file));
        Console.WriteLine(aPerson);
    } //main
} //Reader 
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IXmlSerializable インターフェイス
IXmlSerializable メンバ
System.Xml.Serialization 名前空間



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「IXmlSerializable.ReadXml メソッド」の関連用語

IXmlSerializable.ReadXml メソッドのお隣キーワード
検索ランキング

   

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



IXmlSerializable.ReadXml メソッドのページの著作権

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

©2026 GRAS Group, Inc.RSS