У меня есть свойство List<AnimalsEnum> Foo
в классе, который я сериализую в XML с RestSharp для тела запроса. Я хотел бы выход быть:Restsharp - как сериализовать список перечислений на строки
<rootNode>
... existing content...
<Foo>Elephant</Foo>
<Foo>Tiger</Foo>
.... more content
Вместо этого для соответствующей части сериализации, я
<Foo>
<AnimalsEnum />
<AnimalsEnum />
</Foo>
Я хотел бы, чтобы преобразовать значения перечислений в строки и удалить элемент контейнера, автоматически добавляется. Возможно ли это с помощью RestSharp? Я думал, что это возможно с атрибутами, но, видимо, нет. Должен ли я сам спорить с этим пользовательским сериализатором?
код трудно размещать, но сохраняющий на примере:
class Bar
{
public string Name{get;set;}
public List<AnimalsEnum> Foo{get;set;}
public enum AnimalsEnum {Tiger,Elephant,Monkey}
}
и сериализации в запрос
var req = new RestSharp.RestRequest(RestSharp.Method.POST);
req.RequestFormat = RestSharp.DataFormat.Xml;
req.AddQueryParameter("REST-PAYLOAD", "");
req.AddXmlBody(myBar);
Не могли бы вы разместить соответствующий код? – Dennis
@Dennis обновленный вопрос – user3791372
Почему вы хотите, чтобы результат был ' Elephant ' и так далее? Я просмотрел «XmlSerializer» BCL, он сериализует перечисления из списка как « Tiger AnimalsEnum>», и это выглядит гораздо правильнее, чем повторение тегов Foo. –
Dennis