Свойство Serialize List как родительское содержимое с помощью RestSharp XmlSerializer - PullRequest
0 голосов
/ 02 июля 2019

У меня есть Родительский класс со списком детей, объявленных как Список Дочерних предметов.Я хочу, чтобы этот список был сериализован в XML без переноса в элемент Children как содержимое родительского элемента root.

Я пытался использовать атрибут [SerializeAs (Content = true)], но, похоже, он игнорируется дляСвойства IList.

Классы My Parent и Child:

public class Parent
{
    [SerializeAs(Content = true)]
    public List<Child> Children { get; set; } = new List<Child>();
}

public class Child
{
    public int Id { get; set; }
}

Пример процедуры сериализации:

var parent = new Parent();
for (var i = 0; i < 3; i++)
{
    parent.Children.Add(new Child { Id = i + 1 });
}

var serializer = new RestSharp.Serializers.XmlSerializer();
var xml = serializer.Serialize(parent);

Что ожидается:

<Parent>
  <Child>
    <Id>1</Id>
  </Child>
  <Child>
    <Id>2</Id>
  </Child>
  <Child>
    <Id>3</Id>
  </Child>
</Parent>

Что я на самом деле вижу:

<Parent>
  <Children>
    <Child>
      <Id>1</Id>
    </Child>
    <Child>
      <Id>2</Id>
    </Child>
    <Child>
      <Id>3</Id>
    </Child>
  </Children>
</Parent>
...