Pregunta

Estoy llamando a un servicio web REST.

La apariencia de respuesta a algo como esto:

<?xml version=\"1.0\" encoding=\"utf-8\"?>
<data>
  <status>1</status>
  <message>OK</message>
  <results>
    <result>
      <account>12345</account>
      <to>012345678</to>
      <from>054321</from>
      <message>Testing</message>
      <flash></flash>
      <replace></replace>
      <report></report>
      <concat></concat>
      <id>f8d3eea1cbf6771a4bb02af3fb15253e</id>
    </result>
  </results>
</data>

Tengo una clase llamada "SMSSendingResponse", que se ve así:

public class SMSSendingResponse
{
    public string AccountNumber { get; set; }
    public string Status { get; set; }
    public string Message { get; set; }
    public string ResponseID { get; set; }
    public SMSMessage SMSMessage { get; set; }
}

miradas smsmessage como esta:

public class SMSMessage
{
    public string To { get; set; }
    public string From { get; set; }
    public string Message { get; set; }
}

Como se puede ver, estoy haciendo caso omiso de algunos de los elemenst regresado (flash, etc .. reemplazar)

¿Cuál es la mejor manera de mí serializar el XML devuelto a este objeto?

He intentado utilizar XmlSerializer, pero esto arrojó un error ... supongo que porque no estoy usando la serialización primera XmlSerializer.

Si se tratara de JSON, que haría uso de la biblioteca NewtonSoft.Json ... Mientras que supongo que podría convertir XML a JSON, a continuación, serializar de esa manera, hay una manera mejor?

¿Fue útil?

Solución

Puede utilizar XmlSerializer muy bien, siempre y cuando se agregan los atributos apropiados a los campos de las clases. Verlas para un ejemplo de algunos . Sin duda, usted se encuentra con errores de las primeras veces que trabajar con él, pero se pega con él, porque una vez que figura a cabo, es una gran herramienta.

EDIT:

Aquí es un mejor lugar para encontrar toda de los atributos disponibles . Mira a través de la lista para cualquier cosa que comienza con XML y termina con el atributo. Usted querrá saber a todos.

Otros consejos

Se puede utilizar para extraer xsd.exe esquema del archivo XML y generar C # clase correspondiente. Puede utilizar la clase generada para serializar y deserializar el XML. Si muestra el código que vamos a ser capaces de identificar más fácilmente error.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top