方法: XML ファイルからオブジェクト データを読み込む (C# および Visual Basic)
XmlSerializer クラスを使用して XML ファイルに書き込んだオブジェクト データを読み込む例を次に示します。
使用例
このコードの例は、IntelliSense コード スニペットとしても利用できます。コード スニペット ピッカーでは、これは [XML] にあります。詳細については、「コード スニペット」を参照してください。
Public Class Book
Public Title As String
End Class
Public Sub ReadXML()
Dim reader As New System.Xml.Serialization.XmlSerializer(GetType(Book))
Dim file As New System.IO.StreamReader(
"c:\temp\SerializationOverview.xml")
Dim overview As Book
overview = CType(reader.Deserialize(file), Book)
Console.WriteLine(overview.Title)
End Sub
public class Book
{
public String title;
}
public void ReadXML()
{
System.Xml.Serialization.XmlSerializer reader =
new System.Xml.Serialization.XmlSerializer(typeof(Book));
System.IO.StreamReader file = new System.IO.StreamReader(
@"c:\temp\SerializationOverview.xml");
Book overview = new Book();
overview = (Book)reader.Deserialize(file);
Console.WriteLine(overview.title);
}
コードのコンパイル
ファイル名 "c:\IntroToVB.xml" を、シリアル化されたデータを含むファイルの名前に置き換えます。データのシリアル化の詳細については、「方法: XML ファイルにオブジェクト データを書き込む (C# および Visual Basic)」を参照してください。
クラスには、パラメーターのないパブリック コンストラクターが必要です。
パブリックなプロパティとフィールドだけが逆シリアル化されます。
信頼性の高いプログラミング
次の条件を満たす場合は、例外が発生する可能性があります。
シリアル化されるクラスにパブリックなパラメーターなしのコンストラクターがない場合
ファイルのデータが、逆シリアル化されるクラスのデータを表していない場合
ファイルが存在しない場合 (IOException)
セキュリティ
入力を常に検証し、信頼関係のないソースからのデータは絶対に逆シリアル化しないでください。再作成されたオブジェクトは、このオブジェクトを逆シリアル化したコードと同じアクセス権で、ローカル コンピューターで実行されます。アプリケーションでデータを使用する前に、入力をすべて検証してください。
参照
処理手順
方法: XML ファイルにオブジェクト データを書き込む (C# および Visual Basic)