Restsharp - 尝试序列化根节点上的 xmlns 属性时出错

Restsharp - Error attempting to serialize xmlns attribute on root node

当尝试使用根节点上包含 xmlns 属性的 RestSharp 将对象序列化为 XML 时,我收到以下异常:

无法在同一起始元素标记内将前缀“”从“”重新定义为“https://someurl.com”。

我尝试序列化的对象只包含一个 属性(目前),XmlNamespace:

[SerializeAs(Name = "root")]
public class Root
{
    [SerializeAs(Name = "xmlns", Attribute = true)] 
    public String XmlNamespace { get; set; }
}

尝试将我的对象添加到请求正文时出现异常,如下所示:

Root requestBody = new Root();

requestBody.XmlNamespace = "https://someurl.com";

var request = new RestRequest();

request.Method = Method.POST;
request.Resource = "orders";
request.RequestFormat = DataFormat.Xml;

request.AddBody(requestBody); // exception occurs here

我已经尝试使用 RestRequest 的 XmlNamespace 属性 以及为 RestRequest 实例化一个新的 XmlSerializer,但是这些都没有按照 [=25] 的要求将命名空间附加到根节点=] 我正在尝试访问。有人碰巧知道如何在 RestSharp 中正确序列化 xmlns 属性吗?

我最终找到了答案。看起来我对请求和 XmlSerializer 级别的 XmlNamespace 属性的存在感到困惑。对于遇到此问题的任何其他人,解决方法是在调用 AddBody 方法时定义命名空间,如下所示:

request.AddBody(requestBody, "https://someurl.com");