Сериализация XML в C#

Где я могу найти хорошее учебное руководство о XML-сериализации к объекту?Спасибо.

9
задан jitm 7 July 2010 в 14:41
поделиться

7 ответов

На страницах поддержки Microsoft есть базовый учебник, а их пример кода состоит всего из нескольких строк:

using System;

public class clsPerson
{
  public  string FirstName;
  public  string MI;
  public  string LastName;
}

class class1
{ 
   static void Main(string[] args)
   {
      clsPerson p=new clsPerson();
      p.FirstName = "Jeff";
      p.MI = "A";
      p.LastName = "Price";
      System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
      x.Serialize(Console.Out, p);
      Console.WriteLine();
      Console.ReadLine();
   }
}

По сути, вам не нужно ничего делать, кроме как вызывать встроенные функции, которые делают всю тяжелую работу за вас.

5
ответ дан 4 December 2019 в 12:16
поделиться

В MSDN есть приличная статья об этом: http://msdn.microsoft.com/en-us/library/ms733901.aspx

А эта немного проще : http://www.dotnetjohn.com/articles.aspx?articleid=173

1
ответ дан 4 December 2019 в 12:16
поделиться

Это действительно довольно просто. всего три основных шага.

  1. Вам необходимо пометить свои классы атрибутом [Serializable] .
  2. Записать код сериализации
  3. Записать код десериализации

Сериализация:

var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.OpenOrCreate);
x.Serialize(fs, yourInstance);
fs.Close();

Десериализация:

var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.Open);
var fromFile = x.Deserialize(fs) as YourClass;
fs.Close();
7
ответ дан 4 December 2019 в 12:16
поделиться

Вот хорошее начало microsoft

Также изучите Xml Schema и автоматическую генерацию классов с помощью xsd.exe, чем раньше вы освоите это, тем лучше, это может сэкономить вам много усилий при работе с XML. Также просмотр сгенерированных файлов c# дает вам некоторые подсказки о том, как использовать атрибуты для манипулирования способом сериализации классов XmlSerializer

1
ответ дан 4 December 2019 в 12:16
поделиться

В Интернете можно легко найти множество руководств по сериализации данных с помощью .Net. Однако позвольте мне напомнить некоторые моменты:

  1. Типы сериализации:

    a. Сериализация XML: Пожалуйста, посмотрите на http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization

    b. Двоичная сериализация: http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file

  2. Также, пожалуйста, помните об аспектах безопасности при работе (чтении и записи данных) с файлами. Есть хороший учебник здесь http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx

1
ответ дан 4 December 2019 в 12:16
поделиться

Мы используем сериализацию для записи данных в двоичном формате и в формате IN XML. для двоичного формата мы используем BibnaryFormatSerialization, а для формата XML мы используем SoapFormatSerialization.

0
ответ дан 4 December 2019 в 12:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: