Практическое руководство. Чтение данных объекта из XML-файла (C# и Visual Basic)
В этом примере производится чтение данных объекта, которые были предварительно записаны в XML-файл с помощью класса XmlSerializer.
Пример
Данный пример кода доступен также в качестве фрагмента кода IntelliSense. В выборе фрагментов кода он находится в XML. Дополнительные сведения см. в разделе Практическое руководство. Вставка фрагментов кода IntelliSense.
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)
Ссылки
Основные понятия
Руководство по программированию на C#