C# 如何在向RestSharp请求添加对象时指定XML元素名称?
使用,我尝试向基于XML的API发出POST请求。请求的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; }
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”)]
成功了。你愿意把这个作为答案贴出来,这样我就可以接受了吗?