如何:读取 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 安全性

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

请参阅