如何:从 XML 文件读取对象数据(Visual Basic)

此示例读取以前使用 XmlSerializer 类写入 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  

编译代码

将文件名“c:\temp\SerializationOverview.xml”替换为包含序列化数据的文件的名称。 有关序列化数据的详细信息,请参阅如何:将对象数据写入 XML 文件(Visual Basic)。

该类必须具有没有参数的公共构造函数。

只有公共属性和字段会被反序列化。

可靠的编程

以下条件可能会导致异常:

  • 要序列化的类没有公共无参数构造函数。

  • 文件中的数据不表示要反序列化的类中的数据。

  • 该文件不存在(IOException)。

.NET Framework 安全性

始终验证输入,绝不要从不受信任的来源反序列化数据。 重新创建的对象会在具有对它进行反序列化的代码的权限的本地计算机上运行。 在应用程序中使用数据之前验证所有输入。

另请参阅