Существует ли конкретный объект XML (например, XElement), который можно сериализовать в двоичном формате?

StackOverflow https://stackoverflow.com/questions/1942527

Вопрос

У меня есть вариант использования, когда я сериализую объекты по сети через MSMQ (в основном строки).Когда я читаю объект из очереди, я хочу иметь возможность определить, имел ли пользователь в виду, что объект должен быть XML или строкой.Я подумал, что хороший способ сделать это — просто проверить тип.Если это XmlElement, то он становится данными XML, в противном случае он становится строкой или CDATA.Причина, по которой я не хочу просто проверять, являются ли данные допустимым XML, заключается в том, что иногда будут предоставлены данные, которые должны быть сериализованы в виде строки, но на самом деле являются действительным XML.Я хочу, чтобы вызывающая сторона могла контролировать десериализацию в строку или XML.

Существуют ли какие-либо типы, помеченные как сериализуемые в .NET Framework, например XElement или XmlElement (оба не помечены как сериализуемые)?

Это было полезно?

Решение

Почему бы вам просто не добавить в класс сериализованного объекта свойство, которое сообщит вам, что это такое?Я бы предложил IsXml.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top