Запись объекта в XML - PullRequest
0 голосов
/ 20 июня 2009

Какие существуют способы для односторонней сериализации XML в .Net? XmlSerializer не будет писать свойства, которые не имеют общедоступного установщика. Хотя это ограничение понятно для десериализации, я был бы удовлетворен только сериализацией для веб-использования. Сериализация JSON.Net прекрасно работает в этой ситуации, поскольку она сериализует полный граф объектов, не обращая внимания, даже если в некоторых свойствах не определены сеттеры.

Основная цель этих классов - обычная библиотека классов .Net. Эти классы используются другим кодом в 90% случаев, поэтому я выбрал решение, которое не жертвует нормальным использованием классов.

Полученная библиотека классов должна поддерживать .Net 2.0.

Ответы [ 2 ]

3 голосов
/ 20 июня 2009

Я бы посмотрел на DataContractSerializer. Хотя этот тип объявлен в .NET 3.0 framework, это не помешает вам использовать новую версию System.Runtime.Serialization.dll в вашем проекте.

Чтобы лучше понять, чем DataContractSerializer отличается от XmlSerializer, я бы ознакомился с ответом Криса Лайвли .

2 голосов
/ 20 июня 2009

Вы можете проверить этот сайт: XmlSerializer против DataContractSerializer

Кроме того, вы можете рассмотреть возможность переопределения того, как сериализуется ваш объект, и решить для себя, что должно и не должно быть в потоке xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...