将对象添加到RestSharp请求时如何指定XML元素名称?

时间:2017-03-10 09:08:57

标签: c# xml serialization restsharp

使用RestSharp,我正在尝试向基于XML的API发出POST请求。请求的XML主体的一部分是一个看起来像的项目:

<field fid="42">foobar</field>

为了完成这项工作,我创建了这个简单的类:

[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);

这会将数据添加到传出请求正文中,但不幸的是,使用了错误的元素名称:

<RecordField fid="42">foobar</RecordField>

看来我的[XmlRoot]属性被忽略了。

如何使用RestSharp&#34; field&#34;作为元素名称而不是&#34; RecordField&#34;?

PS - 将我的课程重命名为field但不合适,因为它违反了我项目的命名惯例。

0 个答案:

没有答案