none
Serializacion y Deserializacion RRS feed

  • Pregunta

  • Hola a todos de antemano le doy gracias por cualkier ayuda que me puedan brindar....

    Estoy tratando de guardar una lista de string en un solo campo de mi Base de datos MySQL de tipo varchar por lo que estoy serializando la lista con el siguiente método:

     public static string Serialize(List<string> lista)
            {
                var serializer = new XmlSerializer(typeof(List<string>));
                TextWriter writer = new StringWriter();
                serializer.Serialize(writer, lista);
                return writer.ToString();
            }

    la lista se me guarda en la BD con un formato xml. Despues necesito coger esa lista y hacer el proceso inverso es decir deserializarla pues necesito mosrar los datos que no son mas k puntos k necesito plotear en un chart control.. EL proceso de deserializacion lo hago con este metodo:

    public static List<string> Deserialize(string lista)
            {
                var serializer = new XmlSerializer(typeof(List<string>));
                StreamReader reader = new StreamReader(lista);
                return (List<string>)serializer.Deserialize(reader);
            }

    y me genera el siguiente error ¨caracteres no validos en la ruta de acceso ¨

    y me lo señala en la linea StreamReader reader = new StreamReader(lista);

    favor si me pudieran aconsejar de como hacerlo espero haberme explicado bien

    viernes, 10 de febrero de 2017 17:02

Respuestas

  • Gracias sergio pero ahora me da el siguiente error Error en el documento XML (2, 10). en la fila que te pongo abajo estuve buscando un poco pero no di con la solucion ??

    return (List<string>)serializer.Deserialize(reader);

    viernes, 10 de febrero de 2017 18:15

Todas las respuestas

  • Hola a todos de antemano le doy gracias por cualkier ayuda que me puedan brindar....

    Estoy tratando de guardar una lista de string en un solo campo de mi Base de datos MySQL de tipo varchar por lo que estoy serializando la lista con el siguiente método:

     public static string Serialize(List<string> lista)
            {
                var serializer = new XmlSerializer(typeof(List<string>));
                TextWriter writer = new StringWriter();
                serializer.Serialize(writer, lista);
                return writer.ToString();
            }

    la lista se me guarda en la BD con un formato xml. Despues necesito coger esa lista y hacer el proceso inverso es decir deserializarla pues necesito mosrar los datos que no son mas k puntos k necesito plotear en un chart control.. EL proceso de deserializacion lo hago con este metodo:

    public static List<string> Deserialize(string lista)
            {
                var serializer = new XmlSerializer(typeof(List<string>));
                StreamReader reader = new StreamReader(lista);
                return (List<string>)serializer.Deserialize(reader);
            }

    y me genera el siguiente error ¨caracteres no validos en la ruta de acceso ¨

    y me lo señala en la linea StreamReader reader = new StreamReader(lista);

    favor si me pudieran aconsejar de como hacerlo espero haberme explicado bien


    viernes, 10 de febrero de 2017 17:04
  • Hola, prueba a usar un StringReader en vez de un StreamReader

    using (TextReader reader = new StringReader(lista))
    {
            return serializer.Deserialize(reader);
    }


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    viernes, 10 de febrero de 2017 17:19
    Moderador
  • Gracias sergio pero ahora me da el siguiente error Error en el documento XML (2, 10). en la fila que te pongo abajo estuve buscando un poco pero no di con la solucion ??

    return (List<string>)serializer.Deserialize(reader);

    viernes, 10 de febrero de 2017 18:15