2010-07-07 24 views

Respuesta

4

Hay un tutorial básico sobre Microsoft's support pages y su ejemplo de código es sólo unas pocas líneas largas:

using System; 

public class clsPerson 
{ 
    public string FirstName; 
    public string MI; 
    public string LastName; 
} 

class class1 
{ 
    static void Main(string[] args) 
    { 
     clsPerson p=new clsPerson(); 
     p.FirstName = "Jeff"; 
     p.MI = "A"; 
     p.LastName = "Price"; 
     System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType()); 
     x.Serialize(Console.Out, p); 
     Console.WriteLine(); 
     Console.ReadLine(); 
    } 
} 

Básicamente no tiene que hacer otra cosa que llamar a las funciones integradas que hacen todo el trabajo por usted.

1

He aquí un buen comienzo microsoft

también mirar en el esquema XML y generar las clases de forma automática con xsd.exe cuanto antes te acostumbres a esto, mejor, puede ahorrarte mucho esfuerzo trabajando con XML. También busca en el # archivos c generados le da algunas pistas sobre cómo utilizar atributos para manipular la forma en que las clases se serilized por el XmlSerializer

6

Su realmente muy simple, sólo hay tres pasos principales.

  1. Tiene que marcar sus clases con el atributo [Serializable].
  2. código de serialización
  3. Escribir
  4. Escribir código Deserialización

serialización:

var x = new XmlSerializer(typeof(YourClass)); 
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.OpenOrCreate); 
x.Serialize(fs, yourInstance); 
fs.Close(); 

Deserialización:

var x = new XmlSerializer(typeof(YourClass)); 
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.Open); 
var fromFile = x.Deserialize(fs) as YourClass; 
fs.Close(); 
+2

Para la serialización XML, el atributo [Serializable] no es necesario.El atributo [Serializable] es necesario para la serialización binaria. – Xenan

+0

@Xenan +1 por mencionar que '[Serializable]' es superfluo para la serialización XML –

1

Usted puede encontrar muchos tutoriales sobre los datos de serialización utilizando .Net en el Web. Sin embargo, permítanme recordar algunos puntos:

  1. Tipos de serialización:

    a. Serialización XML: Por favor, eche un vistazo a http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization

    b. Serialización binaria: Consulte http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file

  2. También tenga en cuenta los aspectos de seguridad cuando trabaja (leer y escribir datos) con archivos. Hay un buen tutorial aquí http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx

0

Utilizamos serialización para escribir los datos en formato binario y en formato XML. para el formato binario usamos BibnaryFormatSerialization y para el formato XML usamos SoapFormatSerialization.