При попытке сериализовать объект в XML с помощью RestSharp, который содержит атрибут, XMLNS на корневом узле, я получаю следующее исключение: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?
Вы должны использовать пространство имен при создании элементов, вы не можете просто добавить к корню и измените пространство имен элементов. – joemfb