Вы ответили немного на вопрос в своем посте.Это здорово для сохранения состояния объекта.Я использовал его в приложениях для сохранения пользовательских настроек.Это также отличный способ отправки данных в другие системы, поскольку он стандартизирован.Важно помнить, что он легко читается человеком.Это может быть как хорошо, так и плохо, в зависимости от вашей ситуации.Возможно, вы захотите зашифровать его или использовать зашифрованную двоичную сериализацию, если вы не хотите, чтобы кто-то еще мог его понять.
РЕДАКТИРОВАТЬ:
Еще один момент, о котором стоит упомянуть, - это то, что .NET реализован XMLSerializer
только сериализует открытых членов в объекте.Если вам нужно сохранить частных или защищенных членов, вам нужно будет использовать настроенный сериализатор или использовать другую форму сериализации.