Na Leute,
Also dann fange ich mal an :
Ich habe ein Script welches mir in eine XML Datei schreibt und liest, jedoch nicht wie ich es will.
Was dieses Script NORMALERWEISE tun sollte :
-Beim registrieren in einem NEUEN <benutzer> tag.
-Beim Klick auf den Speichern Button, soll er in das Feld schreiben (das ich auswähle), das zum Benutzer gehört (überprüfen auf den Namen)
SCHREIBEN :
Hier mein Code :
LESEN :
Was dieses Script JETZT tut :
Beim registrieren :
Es überschreibt den alten <benutzer> tag.
Sonst funktioniert alles
Beim speichern :
Es klappt nichts, wie ich es haben will
Es sollte eigentlich nur die Felder Geld, Job, Stufe, Arbeit, Mission ändern. Nicht Passwort und Username.
Außerdem sollte es den jeweiligen RICHTIGEN User herausfinden (aus dem Benutzer - Username Tag heraussuchen wer den Namen nameP hat)
Das Script dafür :
SPEICHERN :
Meine XML :
Danke
Greetz ~ xxchucki
Also dann fange ich mal an :
Ich habe ein Script welches mir in eine XML Datei schreibt und liest, jedoch nicht wie ich es will.
Was dieses Script NORMALERWEISE tun sollte :
-Beim registrieren in einem NEUEN <benutzer> tag.
-Beim Klick auf den Speichern Button, soll er in das Feld schreiben (das ich auswähle), das zum Benutzer gehört (überprüfen auf den Namen)
SCHREIBEN :
Hier mein Code :
VB.NET-Quellcode
- Public Sub createNode(ByVal pID As String, ByVal pName As String, ByVal pPrice As String, ByVal pJob As String, ByVal pStufe As String, ByVal pMission As String, ByVal pArbeit As String, ByVal writer As XmlTextWriter)
- writer.WriteStartElement("Benutzer")
- writer.WriteStartElement("Username")
- writer.WriteString(pID)
- writer.WriteEndElement()
- writer.WriteStartElement("Passwort")
- writer.WriteString(pName)
- writer.WriteEndElement()
- writer.WriteStartElement("Geld")
- writer.WriteString(pPrice)
- writer.WriteEndElement()
- writer.WriteStartElement("Job")
- writer.WriteString(pJob)
- writer.WriteEndElement()
- writer.WriteStartElement("Stufe")
- writer.WriteString(pStufe)
- writer.WriteEndElement()
- writer.WriteStartElement("Arbeit")
- writer.WriteString(pArbeit)
- writer.WriteEndElement()
- writer.WriteStartElement("Mission")
- writer.WriteString(pMission)
- writer.WriteEndElement()
- writer.WriteEndElement()
- End Sub
- Private Sub KryptonButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KryptonButton5.Click
- Try
- Dim writer As New XmlTextWriter(Application.StartupPath & "/Settings/benutzer.xml", System.Text.Encoding.UTF8)
- writer.WriteStartDocument(True)
- writer.Formatting = Formatting.Indented
- writer.Indentation = 3
- writer.WriteStartElement("Table")
- createNode(nameP, Form1.KryptonTextBox5.Text, gesamtP, str, str2, str3, MissionNr, writer)
- writer.WriteEndElement()
- writer.WriteEndDocument()
- writer.Close()
- MsgBox("Erfolgreich gespeichert")
- Catch
- MsgBox("NICHT erfolgreich gespeichert")
- End Try
- End Sub
LESEN :
VB.NET-Quellcode
- Private Sub KryptonDropButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KryptonDropButton2.Click
- Dim xmlFile As XmlReader
- xmlFile = XmlReader.Create(Application.StartupPath & "/Settings/benutzer.xml", New XmlReaderSettings())
- Dim ds As New DataSet
- Dim dv As DataView
- Dim dd As DataView
- ds.ReadXml(xmlFile)
- dv = New DataView(ds.Tables(0))
- dd = New DataView(ds.Tables(0))
- dv.Sort = "Passwort"
- dd.Sort = "Username"
- Dim index As Integer = dv.Find(KryptonTextBox5.Text)
- Dim name As Integer = dd.Find(KryptonTextBox6.Text)
- If name = -1 Then
- MsgBox("Name falsch!")
- Else
- If index = -1 Then
- MsgBox("Passwort falsch!")
- Else
- MsgBox("Erfolgreich eingeloggt!")
- BenutzerStart.Show()
- Me.Hide()
- End If
- End If
- xmlFile.Close()
- End Sub
Was dieses Script JETZT tut :
Beim registrieren :
Es überschreibt den alten <benutzer> tag.
Sonst funktioniert alles
Beim speichern :
Es klappt nichts, wie ich es haben will
Es sollte eigentlich nur die Felder Geld, Job, Stufe, Arbeit, Mission ändern. Nicht Passwort und Username.
Außerdem sollte es den jeweiligen RICHTIGEN User herausfinden (aus dem Benutzer - Username Tag heraussuchen wer den Namen nameP hat)
Das Script dafür :
SPEICHERN :
VB.NET-Quellcode
- Private Sub KryptonButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KryptonButton5.Click
- Try
- Dim writer As New XmlTextWriter(Application.StartupPath & "/Settings/benutzer.xml", System.Text.Encoding.UTF8)
- writer.WriteStartDocument(True)
- writer.Formatting = Formatting.Indented
- writer.Indentation = 3
- writer.WriteStartElement("Table")
- createNode(nameP, Form1.KryptonTextBox5.Text, gesamtP, str, str2, str3, MissionNr, writer) -- nameP und Form1.Krypton... sollte NICHT geändert werden. Wenn ich es weglasse geht garnichts mehr.
- writer.WriteEndElement()
- writer.WriteEndDocument()
- writer.Close()
- MsgBox("Erfolgreich gespeichert")
- Catch
- MsgBox("NICHT erfolgreich gespeichert")
- End Try
- End Sub
Meine XML :
Danke
Greetz ~ xxchucki