Я пытаюсь десериализовать поток XML и получаю следующую ошибку:
Ошибка в строке 1 позиции 7. Ожидается элемент 'auth' из пространства имен 'http://schemas.datacontract.org/2004/07/Veracross'.. Обнаружен элемент' с именем 'auth', пространство имен ''.
Поток XML, который я десериализирую, выглядит следующим образом:
<auth>
<status>success</status>
<username>jsmith</username>
<person_pk>1234</person_pk>
<security_roles>Parent</security_roles>
</auth>
Мой код:
[DataContract(Name = "auth")]
public class Authorization
{
[DataMember(Name = "status")]
public string Status { get; set; }
[DataMember(Name = "username")]
public string UserName { get; set; }
[DataMember(Name = "security_roles")]
public string SecurityRoles { get; set; }
}
// Some code here receiving the XML and storing in a string (xmlData)
DataContractSerializer serializer = new DataContractSerializer(typeof(Authorization));
MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(xmlData));
Authorization Auth = (Authorization)serializer.ReadObject(stream);
Полагаю, он недоволен XML-файлом barebones (без информации заголовка), но я не контролирую его. Он потребляется из службы RESTful.