C# 如何在向RestSharp请求添加对象时指定XML元素名称?

C# 如何在向RestSharp请求添加对象时指定XML元素名称?,c#,xml,serialization,restsharp,C#,Xml,Serialization,Restsharp,使用,我尝试向基于XML的API发出POST请求。请求的XML正文的一部分是如下所示的项: foobar 为了完成此任务,我创建了以下简单类: [Serializable] [XmlRoot(ElementName = "field")] public class RecordField { [XmlAttribute] public int fid { get; set; } [XmlText] public string value { get; set; }

使用,我尝试向基于XML的API发出POST请求。请求的XML正文的一部分是如下所示的项:

foobar

为了完成此任务,我创建了以下简单类:

[Serializable]
[XmlRoot(ElementName = "field")]
public class RecordField
{
    [XmlAttribute]
    public int fid { get; set; }
    [XmlText]
    public string value { get; set; }
}
要将此数据嵌入我的请求,我将执行以下操作:

var field = new RecordField(42, "foobar");
requset.AddXmlBody(field);
这会将数据添加到传出请求正文中,但不幸的是,使用了错误的元素名称:

foobar

似乎忽略了我的[
XmlRoot]
属性

如何使RestSharp使用“field”作为元素名而不是“RecordField”


PS-将我的类重命名为
字段
是可行的,但不可取,因为它违反了我的项目的命名约定。

将属性[XmlElement(“字段”)]添加到RecordField的父类属性中,谢谢,但是
RecordField
没有父类。它是一个独立类,通过
AddXmlBody()
添加到请求中。请参阅Thanke@jdweng
[SerializeAs(Name=“field”)]
成功了。你愿意把这个作为答案贴出来,这样我就可以接受了吗?