Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

serializacion

Estas en el tema de serializacion en el foro de Visual Basic clásico en Foros del Web. hola hola amigos Tengo 2 problemillas: el primero se trata de modificar un archivo de texto en una posicion determinada utilizando las clases StreamReader y ...
  #1 (permalink)  
Antiguo 27/02/2009, 17:36
 
Fecha de Ingreso: febrero-2009
Mensajes: 225
Antigüedad: 15 años, 2 meses
Puntos: 4
serializacion

hola hola amigos

Tengo 2 problemillas:

el primero se trata de modificar un archivo de texto en una posicion determinada
utilizando las clases StreamReader y StreamWriter

Código:
Dim sr As StreamReader = File.OpenText("nombre_del_archivo.txt")
Dim Line As String = sr.ReadLine()

While Not (Line Is Nothing)

    Dim splitted As String() = Line.Split(";")

        If splitted(0) = pMenuI.Plato.Id.ToString() Then

            splitted(1)  'aqui es donde quiero modificar el archivo de texto
                              'a partir de este valor
                              'y aqui ya no se como seguir con el codigo

            
            Dim sw As StreamWriter = ?????

            sw.Write("nuevo_valor_a_escribir") ????

        End If

    sr.ReadLine()
End While
El archivo de texto tiene el siguiente formato:
Código:
Hola;Todos
Como;Estan
Quiero modificar donde dice "Todos" y escribir "Amigos"... alguien me puede dar una mano con el codigo?


-------------_

El segundo problema es de serializacion XML

logro serializar un objeto y escribirlo en un archivo XML. Y tambien logro leer el archivo XML y crear un objeto a partir de su codigo

mi problema surge cuando tengo q escribir mas de 1 objeto, y tambien cuando tengo que leer un XML con mas de 1 objeto

Serializar:

Código:
 Public Sub Serializar(ByVal nomArchivo As String)

        Dim objeto_Serializador As New Serialization.XmlSerializer(GetType(Tipo_del_Objeto)) 'Crea un objeto para Serializar la clase 
        Dim unStrWriter As New StreamWriter("ArchivoXML.xml", True) 'Crea un objeto manejar el archivo xml
        Using unStrWriter
            objSerializador.Serialize(unStrWriter, Me) 'Serializa el objeto en el archivo
            unStrWriter.Close()
        End Using
    End Sub 

DeSerializar:
Código:
 Public Sub DeSerializar(ByVal nomArchivo As String)

        Dim objeto As PedidoRepartidor

        Dim objDeSerializador As New Serialization.XmlSerializer(GetType(Tipo_de_objeto)) 'Crea un objeto para Serializar la clase 
        Dim unStrReader As New StreamReader("ArchivoXML.xml") 'Crea un objeto para manejar el archivo xml

       While ????
            objeto = CType(objDeSerializador.Deserialize(unStrReader), Tipo_de_objeto)

        ????
    End Sub 

Cuando serilizo los objetos, parace que lo hace bien. El atributo True cuando creo el StreamWriter, me permite anerxar un nuevo objeto a una hoja XML ya existente
Y si no existe, crea la hoja XML.

Ahora cuando voy a Deserializar, me sale un error. El mensaje dice que hay un error de sintaxis en el archivo XML.
Me da la linea y la posicion, de donde empieza el codigo XML para el segundo objeto agregado



Entonces no se, si el error es al escribir... o si al leer estoy asignando el codigo al nuevo objeto de una forma equivocada.



Espero me perdonen la dificultad para expresarme =/ y gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:51.