Array in Datatable einfügen und als xml speichern

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Morrison.

    Array in Datatable einfügen und als xml speichern

    Hallo!

    Ich habe ein

    VB.NET-Quellcode

    1. Private Shared _Data(45, 45) As Single
    Array.

    Wie kann ich dieses nun in ein Datatable einfügen und als .XML speichern?
    Muss das Datatable ja iwie serialisieren! ;(

    Ich kann ja nur ein Objekt einfügen, aber wie bekomme ich das zum Objekt und auch wieder zurück?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Morrison“ ()

    Es kommt drauf an. Willst Du nur einen Verweis dieses Arrays in eine "Zelle" der DataTable einfügen oder quasi das Array in eine DataTable umwandeln, sodass jedes Arrayelement in einer DataTable-Zelle steckt?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Also wenn du im DataTable ein Feld vom Typ Object hast, kannst du alles hineinwerfen. Beim auslesen, musst du dann nur entsprechend casten.

    MSDN schrieb:


    Unterstützt sämtliche Klassen in der Hierarchie von .NET Framework-Klassen und stellt abgeleiteten Klassen Low-Level-Dienste zur Verfügung. Dies ist die allen Klassen von .NET Framework übergeordnete Basisklasse und stellt den Stamm der Typhierarchie dar.


    Schau dir System.Object auch mal im MSDN an
    msdn.microsoft.com/de-de/libra…tem.object(v=vs.110).aspx

    Beispiel:

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Dim row = DirectCast(DirectCast(DataTable1BindingSource.AddNew(), DataRowView).Row, DataSet1.DataTable1Row)
    5. Dim xyz(49, 49) As Single
    6. For i = 0 To 49
    7. For ii = 0 To 49
    8. xyz(i, ii) = i + ii
    9. Next
    10. Next
    11. row.DataColumn1 = xyz
    12. End Sub
    13. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    14. Dim row = DirectCast(DirectCast(DataTable1BindingSource.Current(), DataRowView).Row, DataSet1.DataTable1Row)
    15. Dim xyz(,) As Single = DirectCast(row.DataColumn1, Single(,))
    16. MessageBox.Show(xyz(49, 49).ToString)
    17. End Sub
    18. End Class
    And i think to myself... what a wonderfuL World!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Eddy“ ()

    OK, es scheint wohl eher ein Problem beim schreiben der XML-Datei zu sein, weil da schmeißt er nämlich den Fehler:

    Der Typ 'Character_Work._data[], Character_Work, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' implementiert nicht die IXmlSerializable-Schnittstelle, weshalb die Serialisierung nicht fortgesetzt werden kann.