Сериализация объектов на c#
Подскажите кто-нибудь с сериализацией классов на c#.
Например, есть такой участок кода, пример ниже. Не могу понять, если есть такой участок кода и в нем вместо XmlDataDocument
использовать XmlSerializer
для создания xml-файла, то как загружать xml в оперативную память?
Если использовать xmlDoc.Serializer()
, то здесь необходимо передавать два параметра: один объект FileStream
, а второй какой?
И никак не получается пробегаться по элементам в цикле for
при сериализации.
public static string[] GetPeopleName()//возвращаем людей
{
//Открываем FileStream
FileStream fs = new FileStream(pathXml, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); //указываем путь к файлу.
//Создаем Xml документ.
XmlDataDocument xmlDoc = new XmlDataDocument();
xmlDoc.Load(fs); //загружаем в память данные из файла xml
ArrayList name_Surname = new ArrayList();
for (int i = 0; i < xmlDoc.DocumentElement.ChildNodes.Count; i++)
{
string temp = xmlDoc.DocumentElement.ChildNodes[i].SelectSingleNode("name").InnerText +
" " + xmlDoc.DocumentElement.ChildNodes[i].SelectSingleNode("surName").InnerText;
name_Surname.Add(temp);
}
fs.Close();
return (string[])name_Surname.ToArray(typeof(string));
}
Источник: Stack Overflow на русском