Hallo ihr lieben,
Ich habe mal eine Frage zum Thema XML:
Ich will neue Daten in eine XML Laden und sichern. Es geht um meine Software die Dateien verschlüsseln kann. Da möchte ich in einer XML Datei folgende Daten sichern:
Dafür habe ich folgenden Code:
Doch bei der XML Sub erstellt diese nur einen Eintrag:
und die XML Sub:
Bitte klicken
Die Daten werden benötigt um den Namen der alten Datei zu erkennen für die Entschlüsselung.
Ich werde aber ein Code brauchen für die Identifikation der Verschlüsselten Dateien
Danke für eure Hilfe
Ich habe mal eine Frage zum Thema XML:
Ich will neue Daten in eine XML Laden und sichern. Es geht um meine Software die Dateien verschlüsseln kann. Da möchte ich in einer XML Datei folgende Daten sichern:
- Dateiname
- Verzeichnis der Datei
- Datum
Dafür habe ich folgenden Code:
VB.NET-Quellcode
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- If My.Application.CommandLineArgs.Any = True Then
- For Each arg In My.Application.CommandLineArgs
- Dim bytKey As Byte()
- Dim bytIV As Byte()
- If GetFileName(arg, False) = ".blackbird" Then
- 'Send the password to the CreateKey function.
- bytKey = CreateKey("*****************")
- 'Send the password to the CreateIV function.
- bytIV = CreateIV("*****************")
- 'Start the encryption.
- If System.IO.Directory.Exists("C:\Users\Blackbird OS\Desktop\Verschlüsselte Dateien\") = True Then
- EncryptOrDecryptFile(arg, "C:\Users\Blackbird OS\Desktop\Verschlüsselte Dateien\" & GetFileName(arg, False), _
- bytKey, bytIV, CryptoAction.ActionDecrypt)
- Else
- System.IO.Directory.CreateDirectory("C:\Users\Blackbird OS\Desktop\Verschlüsselte Dateien\")
- EncryptOrDecryptFile(arg, "C:\Users\Blackbird OS\Desktop\Verschlüsselte Dateien\" & GetFileName(arg, False), _
- bytKey, bytIV, CryptoAction.ActionDecrypt)
- End If
- Application.Exit()
- Else
- 'Send the password to the CreateKey function.
- bytKey = CreateKey("*****************")
- 'Send the password to the CreateIV function.
- bytIV = CreateIV("*****************")
- 'Start the encryption.
- If System.IO.Directory.Exists("C:\Users\Blackbird OS\Desktop\Verschlüsselte Dateien\") = True Then
- EncryptOrDecryptFile(arg, "C:\Users\Blackbird OS\Desktop\Verschlüsselte Dateien\" & GetFileName(arg, True), _
- bytKey, bytIV, CryptoAction.ActionEncrypt)
- Application.Exit()
- Else
- System.IO.Directory.CreateDirectory("C:\Users\Blackbird OS\Desktop\Verschlüsselte Dateien\")
- EncryptOrDecryptFile(arg, "C:\Users\Blackbird OS\Desktop\Verschlüsselte Dateien\" & GetFileName(arg, True), _
- bytKey, bytIV, CryptoAction.ActionEncrypt)
- Application.Exit()
- End If
- End If
- Next
- Else
- End If
- End Sub
Doch bei der XML Sub erstellt diese nur einen Eintrag:
und die XML Sub:
VB.NET-Quellcode
- Private Sub XMLWriter(ByVal filename As String, ByVal dir As String, ByVal time As DateFormat)
- ' 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("Dataset_Filenames.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("files")
- ' Hier kommt das erste Element "Person". Eine Person hat
- ' in unserem einfachen Beispiel einen Titel, einen Nach-
- ' namen und einen Vornamen. Als Demo soll uns das genügen.
- .WriteStartElement("files") ' <Person
- .WriteAttributeString("filename", filename)
- .WriteAttributeString("dir", dir)
- .WriteAttributeString("time", time)
- .WriteEndElement() ' Person />
- ' Nachdem das Element "Personen" zwei Elemente "Person"
- ' erhalten hat, beenden wir die Ausgabe für "Personen"...
- .WriteEndElement() ' </Personen>
- ' ... und schließen das XML-Dokument (und die Datei)
- XMLobj.Flush()
- .Close() ' Document
- End With
- ' Und so sieht die Ergebnisdatei aus:
- ' -----------------------------------
- '<?xml version="1.0" encoding="utf-16"?>
- '<Personen>
- ' <Person Titel="Dr." Name="Meyer" Vorname="Hans" />
- ' <Person Titel="" Name="Schmidt" Vorname="Carlos" />
- '</Personen>
- 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("quickie.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
Die Daten werden benötigt um den Namen der alten Datei zu erkennen für die Entschlüsselung.
Ich werde aber ein Code brauchen für die Identifikation der Verschlüsselten Dateien
Danke für eure Hilfe