Hay how,
ich versuche mich inzwischen schon 1-2 Wochen mit folgender Thematik doch im "www" hab ich zwar viel darüber gefunden (Serialisierung) aber nichts, dass mir letztlich geholfen hat (z.B. die Microsoft Erklärung), drum wende ich mich an euch ;-).
folgendes Beispiel habe ich versucht auf mein Programm abzuändern aber wenn ich das korrekt erkannt hab ist dies nur ein Beispiel für eine Konsolen Ausgabe, aber es wird nichtmal die .xml Datei erstellt?! (den Auslese-Abschnitt (XML-Reader) hab ich noch nicht angepasst gehabt, da nicht mal die .xml Datei erstellt wurde.)
Was habe ich vor?! kurz beschrieben:
ich möchte Variablen einer Form in einer externen Datei speichern und diese beim neustart laden lassen.
in der Form gibt es ComboBoxen dessen Inhalt ich mit werten aus der externen (.xml, .ini) Datei füllen möchte.
mit der VisualStudio eigenen mySettings Möglichkeit hab ich's hinbekommen, jedoch ist dies nicht so wie ich's benötige (keine externe Datei).
wäre euch dankbar, wenn mir wer eine Quelle aufzeigen könnte oder gar ein Beispiel postet.
Gruß Frosch
ich versuche mich inzwischen schon 1-2 Wochen mit folgender Thematik doch im "www" hab ich zwar viel darüber gefunden (Serialisierung) aber nichts, dass mir letztlich geholfen hat (z.B. die Microsoft Erklärung), drum wende ich mich an euch ;-).
folgendes Beispiel habe ich versucht auf mein Programm abzuändern aber wenn ich das korrekt erkannt hab ist dies nur ein Beispiel für eine Konsolen Ausgabe, aber es wird nichtmal die .xml Datei erstellt?! (den Auslese-Abschnitt (XML-Reader) hab ich noch nicht angepasst gehabt, da nicht mal die .xml Datei erstellt wurde.)
VB.NET-Quellcode
- Public Class Form2
- Private Sub XMLWriter()
- ' Auswahl einer Kodierungsart für die Zeichenablage
- Dim enc As New System.Text.UnicodeEncoding
- ' XmlTextWriter-Objekt für unsere Ausgabedatei erzeugen:
- Dim XMLobj As Xml.XmlTextWriter _
- = New Xml.XmlTextWriter("settings.xml", enc)
- With XMLobj
- ' Formatierung: 4er-Einzüge verwenden
- .Formatting = Xml.Formatting.Indented
- .Indentation = 4
- ' Dann fangen wir mal an:
- .WriteStartDocument()
- ' Beginn eines Elements "Personen". Darin werden wir mehrere
- ' Elemente "Person" unterbringen.
- .WriteStartElement("Material")
- ' Hier kommt das erste Element "Material". Eine Person hat
- ' in unserem einfachen Beispiel einen Titel, einen Nach-
- ' namen und einen Vornamen. Als Demo soll uns das genügen.
- .WriteStartElement("Material") ' <Leitfähigkeit und Temperaturkoeffizient
- .WriteAttributeString("Bezeichnung", "Silber")
- .WriteAttributeString("Leitfähigkeit", "66")
- .WriteAttributeString("Temperaturkoeffizient bei 20°C", "0.0041")
- .WriteEndElement() ' Leitfähigkeit und Temperaturkoeffizient />
- .WriteStartElement("Material") ' <Leitfähigkeit und Temperaturkoeffizient
- .WriteAttributeString("Bezeichnung", "Kupfer")
- .WriteAttributeString("Leitfähigkeit", "56")
- .WriteAttributeString("Temperaturkoeffizient bei 20°C", "0.0039")
- .WriteEndElement() ' Leitfähigkeit und Temperaturkoeffizient />
- .WriteStartElement("Material") ' <Leitfähigkeit und Temperaturkoeffizient
- .WriteAttributeString("Bezeichnung", "Gold")
- .WriteAttributeString("Leitfähigkeit", "45.45")
- .WriteAttributeString("Temperaturkoeffizient bei 20°C", "0.00398")
- .WriteEndElement() ' Leitfähigkeit und Temperaturkoeffizient />
- .WriteStartElement("Material") ' <Leitfähigkeit und Temperaturkoeffizient
- .WriteAttributeString("Bezeichnung", "Aluminium")
- .WriteAttributeString("Leitfähigkeit", "36.00")
- .WriteAttributeString("Temperaturkoeffizient bei 20°C", "0.004")
- .WriteEndElement() ' Leitfähigkeit und Temperaturkoeffizient />
- .WriteStartElement("Material") ' <Leitfähigkeit und Temperaturkoeffizient
- .WriteAttributeString("Bezeichnung", "Zink")
- .WriteAttributeString("Leitfähigkeit", "16.00")
- .WriteAttributeString("Temperaturkoeffizient bei 20°C", "0.0042")
- .WriteEndElement() ' Leitfähigkeit und Temperaturkoeffizient />
- .WriteStartElement("Material") ' <Leitfähigkeit und Temperaturkoeffizient
- .WriteAttributeString("Bezeichnung", "Nickel")
- .WriteAttributeString("Leitfähigkeit", "10.50")
- .WriteAttributeString("Temperaturkoeffizient bei 20°C", "0.0055")
- .WriteEndElement() ' Leitfähigkeit und Temperaturkoeffizient />
- .WriteStartElement("Material") ' <Leitfähigkeit und Temperaturkoeffizient
- .WriteAttributeString("Bezeichnung", "Platin")
- .WriteAttributeString("Leitfähigkeit", "10.20")
- .WriteAttributeString("Temperaturkoeffizient bei 20°C", "0.0038")
- .WriteEndElement() ' Leitfähigkeit und Temperaturkoeffizient />
- .WriteStartElement("Material") ' <Leitfähigkeit und Temperaturkoeffizient
- .WriteAttributeString("Bezeichnung", "Zinn")
- .WriteAttributeString("Leitfähigkeit", "8.70")
- .WriteAttributeString("Temperaturkoeffizient bei 20°C", "0.00463")
- .WriteEndElement() ' Leitfähigkeit und Temperaturkoeffizient />
- .WriteEndElement() ' </Material>
- ' ... und schließen das XML-Dokument (und die Datei)
- .Close() ' Document
- End With
- ' Und so sollte die Ergebnisdatei aussehen:
- ' -----------------------------------
- '<?xml version="1.0" encoding="utf-16"?>
- '<Material>
- ' <Bezeichnung="Silber" Leitfähigkeit="66" Temperaturkoeffizient bei 20°C="0.0041" />
- '.
- '.
- '.
- '.
- '</Material>
- '-----------------------------------
- End Sub
- Private Sub XMLReader()
- ' Wir benötigen einen XmlReader für das Auslesen der XML-Datei
- Dim XMLReader As Xml.XmlReader _
- = New Xml.XmlTextReader("settings.xml")
- ' Es folgt das Auslesen der XML-Datei
- With XMLReader
- Do While .Read ' Es sind noch Daten vorhanden
- ' Welche Art von Daten liegt an?
- Select Case .NodeType
- ' Ein Element
- Case Xml.XmlNodeType.Element
- Console.WriteLine("Es folgt ein Element vom Typ " & .Name)
- ' Alle Attribute (Name-Wert-Paare) abarbeiten
- If .AttributeCount > 0 Then
- ' Es sind noch weitere Attribute vorhanden
- While .MoveToNextAttribute ' nächstes
- Console.WriteLine("Feldname: " & .Name & " -> " & "Feldwert: " & .Value)
- End While
- End If
- ' Ein Text
- Case Xml.XmlNodeType.Text
- Console.WriteLine("Es folgt ein Text: " & .Value)
- ' Ein Kommentar
- Case Xml.XmlNodeType.Comment
- Console.WriteLine("Es folgt ein Kommentar: " & .Value)
- End Select
- Loop ' Weiter nach Daten schauen
- .Close() ' XMLTextReader schließen
- End With
- ' Und so sieht das Ergebnis der Ausgabe aus:
- ' ------------------------------------------
- 'Es folgt ein Element vom Typ Personen
- 'Es folgt ein Element vom Typ Person
- 'Feldname: Titel -> Feldwert: Dr.
- 'Feldname: Name -> Feldwert: Meyer
- 'Feldname: Vorname -> Feldwert: Hans
- 'Es folgt ein Element vom Typ Person
- 'Feldname: Titel -> Feldwert:
- 'Feldname: Name -> Feldwert: Schmidt
- 'Feldname: Vorname -> Feldwert: Carlos
- End Sub
Was habe ich vor?! kurz beschrieben:
ich möchte Variablen einer Form in einer externen Datei speichern und diese beim neustart laden lassen.
in der Form gibt es ComboBoxen dessen Inhalt ich mit werten aus der externen (.xml, .ini) Datei füllen möchte.
mit der VisualStudio eigenen mySettings Möglichkeit hab ich's hinbekommen, jedoch ist dies nicht so wie ich's benötige (keine externe Datei).
wäre euch dankbar, wenn mir wer eine Quelle aufzeigen könnte oder gar ein Beispiel postet.
Gruß Frosch
Plus an Masse, dass knallt klasse!