2011-03-13 10 views

Respuesta

5

Puede usar la clase XmlSerializer. También está el DataContractSerializer que se presentó con WCF. Por ejemplo, si desea serializar un objeto existente a XML utilizando la clase XmlSerializer:

SomeModel model = ... 
var serializer = new XmlSerializer(typeof(SomeModel)); 
using (var writer = XmlWriter.Create("foo.xml")) 
{ 
    serializer.Serialize(writer, model); 
} 

y deserializar nuevo un XML a un modelo existente:

var serializer = new XmlSerializer(typeof(SomeModel)); 
using (var reader = XmlReader.Create("foo.xml")) 
{ 
    var model = (SomeModel)serializer.Deserialize(reader); 
} 
1

que utilizar el código de VB para serializar mi modelo de EF para xml:

Try 
     Dim serializer = New XmlSerializer(GetType(GestionEDLService.Biens)) 
     Dim localFolder As StorageFolder = ApplicationData.Current.LocalFolder 
     Dim sampleFile As StorageFile = Await localFolder.CreateFileAsync("dataFile.xml", CreationCollisionOption.OpenIfExists) 
     Dim stream As Stream = Await sampleFile.OpenStreamForWriteAsync() 

     serializer.Serialize(stream, MyEFModel.MyEntity) 

    Catch ex As Exception 
     Debug.WriteLine(ex.ToString) 
    End Try 

EDIT: también puede utilizar un DataContractSerializer como esto

Imports System.Runtime.Serialization 

Public Sub WriteToStream(sw As System.IO.Stream) 

    Dim dataContractSerializer As New DataContractSerializer(GetType(MyDataSource)) 

    dataContractSerializer.WriteObject(sw, _MyDataSource) 

End Sub 

Public Sub ReadFromStream(sr As System.IO.Stream) 

    Dim dataContractSerializer As New DataContractSerializer(GetType(MyDataSource)) 

    _MyDataSource = dataContractSerializer.ReadObject(sr) 

End Sub 

HTH