Hi,
ich bin gerade dabei eine Import Funktion in mein Programm einzubauen.
Erstmal zum Hintergund:
ich hatte vor einiger Zeit ein Programm geschrieben um Text Schnipsel zu speichern Snipps (siehe Signatur).
Nun möchte ich Snipps neu schreiben und um einige Funktionen erweitern.
Dazu gehört die Importfunktion der XML Datei, die Snipps erstellt (siehe Anhang).
Da sich im neuen Snipps die Datenstruktur ändert, möchte ich das "alte" XML ins neue Dataset importieren.
Dazu habe ich mir eine Sub geschrieben, die folgendermaßen aussieht:
dazu eine Klasse DatasetSnipps und deren Unterklassen:
Nun ist es so, das zwischen Category und Snippets eine Relation besteht (CategoryID), diese Relation gibt es so auch in der neuen Struktur. (ProjektOrdnerID)
Mein Problem ist nun, wie füge ich die neue ProjektDatei Row ein, mit Beziehung zu der vorher erstellten neuen ProjektOrdner Row?
Danke für Eure Tips
EDIT:
mein Problem liegt schon vorher. Die XML Knoten werden erst garnicht ausgelesen
ich bin gerade dabei eine Import Funktion in mein Programm einzubauen.
Erstmal zum Hintergund:
ich hatte vor einiger Zeit ein Programm geschrieben um Text Schnipsel zu speichern Snipps (siehe Signatur).
Nun möchte ich Snipps neu schreiben und um einige Funktionen erweitern.
Dazu gehört die Importfunktion der XML Datei, die Snipps erstellt (siehe Anhang).
Da sich im neuen Snipps die Datenstruktur ändert, möchte ich das "alte" XML ins neue Dataset importieren.
Dazu habe ich mir eine Sub geschrieben, die folgendermaßen aussieht:
VB.NET-Quellcode
- Private Sub ImportSnippets(ByVal oldXML As String)
- Dim _Snippets As XDocument = XDocument.Load(oldXML)
- Dim _GetCat As IEnumerable(Of DataSetSnipps.Category)
- Dim _GetSnip As IEnumerable(Of DataSetSnipps.Snippets)
- _GetCat = From c In _Snippets.Descendants("Category")
- Select New DataSetSnipps.Category With
- {.catDescription = c.Element("Description").Value}
- _GetSnip = From s In _Snippets.Descendants("Snippets")
- Select New DataSetSnipps.Snippets With
- {.snipSnippetInfo = s.Element("SnippetInfo").Value,
- .snipSnippet = s.Element("Snippet").Value}
- For Each cat As DataSetSnipps.Category In _GetCat
- For Each snip As DataSetSnipps.Snippets In _GetSnip
- Dts.ProjektOrdner.AddProjektOrdnerRow(cat.catDescription)
- Dts.ProjektDatei.AddProjektDateiRow(cat.catID, snip.snipSnippetInfo, snip.snipSnippet)
- Next
- Next
- End Sub
dazu eine Klasse DatasetSnipps und deren Unterklassen:
VB.NET-Quellcode
- Public Class DataSetSnipps
- Public Class Category : Inherits DataSetSnipps
- Public catID As Integer
- Public catDescription As String
- End Class
- Public Class Snippets : Inherits Category
- Public snipID As Integer
- Public snipSnippetInfo As String
- Public snipSnippet As String
- Public snipCategoryID As Integer
- End Class
- End Class
Nun ist es so, das zwischen Category und Snippets eine Relation besteht (CategoryID), diese Relation gibt es so auch in der neuen Struktur. (ProjektOrdnerID)
Mein Problem ist nun, wie füge ich die neue ProjektDatei Row ein, mit Beziehung zu der vorher erstellten neuen ProjektOrdner Row?
Dts.ProjektOrdner.AddProjektOrdnerRow(cat.catDescription)
Dts.ProjektDatei.AddProjektDateiRow(hier muss der Bezug zur ehemaligen Category (jetzt ProjektOrdner) ID hin, snip.snipSnippetInfo, snip.snipSnippet)
Danke für Eure Tips
EDIT:
mein Problem liegt schon vorher. Die XML Knoten werden erst garnicht ausgelesen
"Hier könnte Ihre Werbung stehen..."
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MichaHo“ ()