[VB 2010]XML-Datei speichern, lesen und bearbeiten

05/05/2013 12:32 Yiv#1
Hallo liebe Community,

ich habe gerade ein Programm geschrieben, mit dem man auf eine MySQL Server connecten kann. Nun möchte ich die Connection (sofern vom User verlangt) speichern (und später wieder abrufen). Ich dachte mir, dass ich das ganze über XML mache.

Die XML sollte etwa so aussehen:
Code:
<Connections>
	<con name="Verbindung 1" host="127.0.0.1" user="root" pass="passwort" />
	<con name="Verbindung 2" host="192.168.172.00" user="benutzer" pass="pw" />
	<con name="Name der Verbindung" host="IP-Adresse" user="benutzername" pass="passwort" />
</Connections>
Konzept:

Wer kann mir helfen?

MfG

P.S: Mit dem Eintrag aus der MSDN-Library ([Only registered and activated users can see links. Click Here To Register...]) komme ich nicht richtig weiter...
05/05/2013 13:47 Else#2
Muss es zwingend XML sein?
05/05/2013 13:52 #SoNiice#3
Mit genau deiner XML kann ich dir das leider nicht sagen, aber allgemein würde es so gehen:

Code:
Dim doc As New XmlDocument()
doc.LoadXml(pfad zu deiner xml)
Dim con1 As String = doc.DocumentElement.SelectSingleNode("/Connections/con").InnerText
So würde das funktionieren, wenn es <con>Verbindung</con> wäre, ist es aber leider nicht - Wie die einzelnen Attribute aufzurufen sind müsstest du ein wenig testen.

Ich muss wieder anmerken, dass ich KEIN Visual Basic Programmierer bin.
05/05/2013 13:57 Yiv#4
Quote:
Originally Posted by Else View Post
Muss es zwingend XML sein?
Nein... Dachte einfach es sei die beste Lösung um mehrere Connections zu speichern :)

Quote:
Originally Posted by SoNiice View Post
Mit genau deiner XML kann ich dir das leider nicht sagen, aber allgemein würde es so gehen:

Code:
Dim doc As New XmlDocument()
doc.LoadXml(pfad zu deiner xml)
Dim con1 As String = doc.DocumentElement.SelectSingleNode("/Connections/con").InnerText
So würde das funktionieren, wenn es <con>Verbindung</con> wäre, ist es aber leider nicht - Wie die einzelnen Attribute aufzurufen sind müsstest du ein wenig testen.

Ich muss wieder anmerken, dass ich KEIN Visual Basic Programmierer bin.
Den Code verstehe ich nicht ganz. Aber zur Info: Für mich wäre es wichtig, dass wenn man eine neue connection speichert, die alte XML nicht überschrieben wird sondern die neue Connection einfach dazueditiert wird, da das gerade mein Problem ist. Das zweite wäre, wie ich die ganzen Connectionnamen auslese und dann in einer Combobox ausgebe und wenn ich eine Connection ausgewählt habe auf einen Button "verbinden" drücke und host, user und passwort ausgelesen werden.

MfG
05/05/2013 19:51 #SoNiice#5
Mehr kann ich dir zu XML leider nicht sagen, da ich damit noch nie arbeiten musste - ich empfehle dir für sowas aber auch INI - Ist zwar kein Standard in .NET aber dennoch schön mit zu arbeiten.
05/05/2013 20:09 Else#6
Dann erstelle eine neues XML-Element.
05/06/2013 12:00 MoepMeep#7
Quote:
Originally Posted by SoNiice View Post
Ich muss wieder anmerken, dass ich KEIN Visual Basic Programmierer bin.
Sowas gibt es auch nicht.
05/06/2013 13:54 xYomix#8
[Only registered and activated users can see links. Click Here To Register...]

Das solltest du ganz leicht umschreiben können, brauchst dann nur paar Daten ändern ;)
05/13/2013 16:06 .Scare™#9
Mach es ganz leicht und mache es per DataSet! einfacher als dies geht es nicht!

Komponente hinzufügen -> DataSet -> Tabelle anlegen

Speichern: DataSet1.WriteXML("pfad/name.xml")
Laden: DataSet1.ReadXML("pfad/name.xml")

(von hand geschriben, aber so müsste es stimmen.)

Oder warum machst du es nicht gleich mit der Internen Einstellungen? da kannst du einstellungen Definieren speichern laden wen es gewünscht ist.

hier ein link:
PS: ja ich weis, der hört sich an als hätte er noch keine Haare am Sa*** aber es geht ja um den Inhalt =)