Есть ли способ вызвать XmlSerializer
для сериализации примитивных членов класса (например, строковых свойств) как атрибутов XML, а не как элементов XML, без необходимости писать [XmlAttribute]
перед каждым объявлением свойства?
Т.е. есть ли глобальный переключатель, который сообщает XmlSerializer
сериализовать все примитивные члены класса как атрибуты XML?
Предположим, что у нас есть следующий класс:
public class Person
{
public string FirstName
{
...
}
public string LastName
{
...
}
}
Затем XmlSerializer
генерирует этот код с помощью по умолчанию:
<Person>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
</Person>
Я хочу, однако, следующий код:
<Person FirstName="John" LastName="Doe"/>
Опять же: я хочу сделать это без [XmlAttribute]
(или без XmlAttributeOverrides
, что было бы даже больше работы).
Одним из возможных решений может быть использование общего шага постобработки, который применяет преобразование XSLT для преобразования элементов в атрибуты. Но мне интересно, есть ли решение попроще.