2

我在 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 时如何摆脱父元素?

4

2 回答 2

2

将 SerializeAs 更改为 XmlElement:

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

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

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

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

于 2018-01-09T23:57:41.600 回答
1

这将有助于:

public class MyPoco : List<Item> {}

public class Item { ... }
于 2013-02-26T14:53:08.600 回答