Jag har lyckats skapa en xml-fil med en array av objekt som grund. Jag försöker nu läsa in denna fil vid ett annat tillfälle och "deserializa" den. Här är min "serialize"-kod som fungerar: <code>Deserialize:a en XML-fil
Public Sub SaveJobs()
Dim myArray() As Job
ReDim myArray(Jobs.Count - 1)
Dim objStreamWriter As New StreamWriter("job.xml")
Dim x As New XmlSerializer(myArray.GetType)
Dim i As Integer
For i = 0 To lVirtualTable.Rows.Count - 1
Dim j As Job = DirectCast(Jobs(lVirtualTable.Rows(i).Item(0)), Job)
myArray(i) = j
Next
Try
x.Serialize(objStreamWriter, myArray)
Catch e As Exception
MsgBox(e.Message.ToString)
End Try
objStreamWriter.Close()
End Sub
Här är min klass, förenklad:
<Serializable()> Public Class Job
' main settings
Private strName As String
Private strDescription As String
Private strCmdLine As String
End Class
Nu vill jag alltså läsa in xmlfilen i en array av Job, hur ska jag göra?
tack / Henrik Sv: Deserialize:a en XML-fil
mYArray = DirectCast(x.Deserilize(objStreamWriter), Job())
</code>
tror jag jag .. i C# hade jag gjort så här:
myArray = (Job[])x.Deserilize(objStreanWriter);
men varför serializerar du inte Jobs objektet direkt istället för att flytta över det till en array imellan?