VDima77 Ответов: 1

C# - как сериализовать класс в несколько XML-файлов по свойствам


Здравствуйте, все

Я хотел бы понять , что является лучшим решением, если я хочу сериализовать/ де-сериализовать класс в несколько XML-файлов в соответствии с определенным атрибутом

Например , у меня есть класс с двумя свойствами, и мне нужно сериализовать их в два отдельных xml-файла . И в обратном направлении (десериализация).Сохранение и загрузка из файлов


ученик открытый класс {

[SerializeTo(Path= "address.xml")]
публичный адрес Address {get; set;}

[SerializeTo(Path= "grades.xml")]
общественная список<класс> в классах {получить; набор;}
}

Существует ли какое-либо существующее решение такого вопроса?..


Очень ценю любую помощь ,
Спасибо,
Дима

Что я уже пробовал:

Я попытался сериализовать объект в один XML-файл , но это не совсем то , что я хочу, мне нужно разделить его на разные XML-файлы

BillWoodruff

Почему вы хотите создать несколько файлов ?

VDima77

Я хотел бы загружать свойства по требованию и совместно использовать один и тот же xml между двумя объектами

BillWoodruff

Нужно ли сохранять и загружать два набора свойств в разное время ?

"совместное использование одного и того же xml-файла между двумя объектами" Пожалуйста, объясните это более подробно: если у вас есть сохраненный XML-файл, ни один процесс не может получить к нему доступ ... до тех пор, пока вы имеете дело с возможным множественным доступом одновременно ?

MadMyche

То, что вы можете попробовать, - это создать метод "ExportToXML" в дочерних классах для создания их собственных XML-файлов, а затем еще один метод экспорта в этом классе, чтобы действовать как оболочка для дочерних методов

BillWoodruff

Является ли это Java: C# не имеет атрибута ' SerializeTo ? Если это C#, то какой метод сериализации вы используете ?

Нужно ли сохранять и загружать два набора свойств в разное время ?

"совместное использование одного и того же xml-файла между двумя объектами" Пожалуйста, объясните это более подробно: если у вас есть сохраненный XML-файл, ни один процесс не может получить к нему доступ ... до тех пор, пока вы имеете дело с возможным множественным доступом одновременно ?

VDima77

Мой пример следующий . Это ожидаемый результат , когда student2 и student1 имеют один и тот же адресный путь. Мне нужно загрузить этот xml-файл в объект Student

Student1.xml
-----------
<студент>
<адрес>c:\addres.xml<\адрес>
<сорта> c:\grades1.xml

Student2.xml
-------------
<студент>
<адрес>c:\addres.xml<\адрес>
<сорта> c:\grades2.xml

1 Ответов

Рейтинг:
2

Gerry Schmitz

Вы сериализуете "объект", то есть класс.

Не имеет значения, кто это - "родитель" или "ребенок". Если "объект" сериализуем так же, как и его дочерние элементы, то этот "граф объектов" может быть сериализован.

Другое дело, действительно ли то, что вы делаете, приносит пользу.


BillWoodruff

Мой голос за № 1: это удивительно глупый отказ от ответа.