При попытке сериализовать объект в XML с помощью RestSharp, который содержит атрибут xmlns на корневом узле, я получаю следующее исключение:
Префикс '' нельзя переопределить с '' на '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
Я пытался использовать свойство XmlNamespace RestRequest, а также создать экземпляр нового XmlSerializer для RestRequest, но ни один из них не добавил пространство имен к корневому узлу, как того требует API, к которому я пытаюсь получить доступ. Кто-нибудь знает, как правильно сериализовать атрибут xmlns в RestSharp?