none
XML Datei (Element hinzufügen) RRS feed

  • Frage

  • Hallo zuzsammen,

    ich erstelle mit folgendem Code eine XML-Datei....

    Private Sub sbSpeichernPfadServer_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles sbSpeichernPfadServer.Click
    
            Dim strPfadFotosServer As String
            strPfadFotosServer = stbPfadServer.Text
    
            ' Speichert den Pfad in der Config
            Dim doc As XmlDocument = New XmlDocument()
            doc.LoadXml("<SystemKonfiguration></SystemKonfiguration>")
    
            Dim strPasswort As String = "[sbdbshbdhfhsfs]"
    
            Dim strReturn As String = Nothing
            Dim rd As New RijndaelManaged
            Dim md5 As New MD5CryptoServiceProvider
            Dim key() As Byte = md5.ComputeHash(Encoding.UTF8.GetBytes(strPasswort))
            md5.Clear()
            rd.Key = key
            rd.GenerateIV()
            Dim iv() As Byte = rd.IV
            Dim ms As New MemoryStream
            ms.Write(iv, 0, iv.Length)
            Dim cs As New CryptoStream(ms, rd.CreateEncryptor, CryptoStreamMode.Write)
            Dim data() As Byte = Encoding.UTF8.GetBytes(strPfadFotosServer)
            cs.Write(data, 0, data.Length)
            cs.FlushFinalBlock()
            Dim encdata() As Byte = ms.ToArray()
            strReturn = Convert.ToBase64String(encdata)
            cs.Close()
            rd.Clear()
            Dim CN As XmlElement = doc.CreateElement("DirectoryPhotosTablet")
            CN.InnerText = strReturn
            doc.DocumentElement.AppendChild(CN)
    
            Dim writer As XmlTextWriter = New XmlTextWriter("Config.xml", Nothing)
            writer.Formatting = Formatting.Indented
            doc.Save(writer)
    
            Dim MsgPfadFotosTabletGespeichert = New MsgBoxYesNo("Der Pfad wurde gespeichert." & vbNewLine & "(Fotos Server)")
            MsgPfadFotosTabletGespeichert.ShowDialog()
    
    
        End Sub

    Nun möchte ich an einer anderen Stelle ein neues Element in der vorhanden XML-Datei speichern. Bei der Erstellung wird das "DirectoryPhotsTablet" erstellt. Nun soll hier ein weiteres gespeichert werden.

    Kann mir jemand helfen?

    mfg

    Robbo

    Freitag, 6. Juni 2014 08:55

Antworten

  • Hallo,
    grundsätzlich musst du nur die XML-Datei neu einlesen und den zu ergänzenden Knoten wieder heraus filtern. Diesem fügst du dann ein neues Element hinzu. Anschließend speicherst du die Datei erneut.

    Arbeitest du mit .NET 3.5 oder neuer oder musst du .NET 3.0 oder älter verwenden? Wenn du die neueren .NETs verwenden kannst, empfehle ich dir LINQ to XML zu verwenden. Der Einsatz erfordert zwar eine gewisse Einarbeitungszeit, die Verarbeitung der Daten wird jedoch verringert.

    Wenn du noch ein Beispiel brauchst, werde ich noch eines posten. (Sage bitte ob mit XDocument (LINQ to XML) oder XmlDocument)


    Tom Lambert - C# MVP
    Bitte bewertet- und markiert Beiträge als Antwort. Danke.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Freitag, 6. Juni 2014 13:14
    Moderator