Estoy teniendo problemas reales para tratar de deserializar algunos XML y esperaba que alguien pudiera ofrecer ayuda. He leído muchas publicaciones similares pero no puedo resolver esto.Error al deserializar Xml al objeto - xmlns = '' no se esperaba
XML que estoy tratando de deserializar
<register-account success="false">
<user-name>xxxxx</user-name>
<password>fghgh</password>
<email>[email protected]</email>
<error>
<errorcode>120</errorcode>
<errormessage>The password is invalid</errormessage>
</error>
</register-account>
Clase Estoy tratando de deserializar a:
[Serializable, XmlRoot(ElementName = "register-account", Namespace = "MyNamespace")]
[XmlType("register-account")]
public class RegisterAccountResponse
{
[XmlAttribute("success")]
public bool Success { get; set; }
/// <summary>
/// Gets or sets the Tennant email address
/// </summary>
[XmlElement("email")]
public string Email { get; set; }
/// <summary>
/// Gets or sets the tennant password
/// </summary>
[XmlElement("password")]
public string Password { get; set; }
/// <summary>
/// Gets or sets the Tennant username
/// </summary>
[XmlElement("user-name")]
public string Username { get; set; }
/// <summary>
/// A Tenant Portal error relating to the RegisterAccountRequest
/// </summary>
[XmlElement("error")]
public QubeError Error;
}
Método Deserialización
public static T Deserialize<T>(string data) where T : class
{
if (data == null)
{
return null;
}
if (data.Trim().Length == 0)
{
return null;
}
var ser = new XmlSerializer(typeof(T));
using (var sr = new StringReader(data))
{
return (T)ser.Deserialize(sr);
}
}
Deserialización método de llamada de
var data = Helper.Deserialize<RegisterAccountResponse>(xml);
Excepción:
Hay un error en el documento XML (1, 2 ). ---> System.InvalidOperationException: era no esperado. en Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderData.Read5_data()
excepción interna de la siguiente manera:
<register-account xmlns=''> was not expected.
Marc, eres perfecto! No puedo agradecerte lo suficiente ya que me había estado arrancando los pelos con este. – ProNotion
¡Muchas gracias! La información adicional en el espacio de nombres era la solución que necesitaba. – varagrawal
¿Podría decirnos más acerca de por qué el "Espacio de nombres =" en la clase es innecesario? – gfan