У меня есть объект GameOptions, который содержит список Tiles и список опций. Один объект GameOptions кладется в список, который я тогда сериализовать дать мне формат, который напоминает это:Метод десериализации объекта, который содержит списки других объектов
<GameOptions>
<Tiles>
<Tile1>
</Tile1>
</Tiles>
<Options>
<Option1>
</Option1>
<Options>
</GameOptions>
Я интересно, как я могу deseialize сохраненный файл обратно в объект GameOptions, который я может получить доступ к значениям Плитки и Параметры? Раньше, когда мне нужно было читать XML-файл, я только что загрузил документ, прошел через каждый узел и скопировал значение, однако я не думаю, что этот метод будет работать снова, потому что некоторые узлы принадлежат классу Tile, в то время как другие принадлежат классу «Параметры». Заранее спасибо!
Это код, который я использовал для сериализации в первую очередь:
XmlSerializer serializer = new XmlSerializer(gameSave.GetType());
StreamWriter writer = new StreamWriter(@"savedmap.xml");
serializer.Serialize(writer.BaseStream, gameSave);
'Мне интересно, как могу ли я deseialize сохраненного файла' Использовать XmlSerializer. Но лучше, прежде чем задаться вопросом, прочитать некоторые документы о xml. –
Все, что вы сериализуете в допустимом формате xml или json, может быть тривиально десериализовано с помощью того же механизма. Что вы использовали для сериализации? И что вы пытались десериализировать? –
Как и в случае с кодом, схема должна в целом содержать _not_ include 'Tile1',' Tile2', ..'TileN' свойства/ключи. Существует стандартная обработка коллекции как в структурах XML, так и в JSON. В любом случае единственным требованием является то, что десериализатор знает, как «отменить» сериализацию, которая должна определяться набором правил .. что вы (или лучше, стандартная библиотека сериализации). – user2864740