RestSharp - 没有父元素的序列化列表

时间:2012-11-01 10:45:36

标签: xml-serialization restsharp

我在SO上看到过类似的问题,但这是关于RestSharp XmlSerializer的。

我想要这个:

<Item>
    ...
</Item>
<Item>
    ...
</Item>
<Item>
    ...
</Item>
<Item>
    ...
</Item>

我有这个:

public class MyPoco
{
    [SerializeAs( Name = "Item")
    public List<Item> Items { get; set; }
}

public class Item
{
    ...
}

我得到的是:

<Item>
    <Item>
        ...
    </Item>
    <Item>
        ...
    </Item>
    <Item>
        ...
    </Item>
</Item>

使用RestSharp时如何摆脱父元素?

2 个答案:

答案 0 :(得分:2)

将SerializeAs更改为XmlElement:

[XmlElement("Item")]
public List<Item> Items { get; set; }

然后告诉RestSharp使用.NET序列化程序:

 var request = new RestRequest
 {              
     XmlSerializer = new RestSharp.Serializers.DotNetXmlSerializer(),
 };

这将输出没有父项目节点的项目列表

答案 1 :(得分:1)

这将有所帮助:

public class MyPoco : List<Item> {}

public class Item { ... }