Blog Schröder

Sammlung von Codeschnipseln zu Programmierproblemen.
Daten aus fremden Quellen unterliegen deren Rechten.
Siehe auch: Disclaimer auf www.computer-schroeder.de

Freitag, 24. August 2007

XML schreiben/lesen

Try
Dim settings As New Xml.XmlWriterSettings()
settings.Indent = True
settings.IndentChars = " "
Using writer As Xml.XmlWriter = Xml.XmlWriter.Create(myLogFilePath & "/" & myApplicationName & ".xml", settings)
' Write XML data.
writer.WriteStartElement("root")
writer.WriteElementString("Value", CStr(Value))

'Schreibe die variablen Applikationswerte
For Each k As String In Other.Keys
writer.WriteStartElement("ApplicationValue")
writer.WriteAttributeString("Description", k)
writer.WriteAttributeString("Value", Other(k))
writer.WriteEndElement()
Next
writer.WriteEndElement()
writer.Flush()
End Using
Catch ex As Exception
MsgBox("Die XML-Datei konnte nicht geschrieben werden." & vbCrLf & ex.Message)
End Try
-----------------------------------------------------

<?xml version="1.0" encoding="utf-8" ?>
<root>
<Value>1000</Value>
<ApplicationValue Description="Other" Value="8/24/2007 8:53:11 AM" />
</root>
-----------------------------------------------------

Try
Dim settings As New Xml.XmlReaderSettings()
settings.ConformanceLevel = Xml.ConformanceLevel.Fragment
settings.IgnoreWhitespace = True
settings.IgnoreComments = True
Using reader As Xml.XmlReader = Xml.XmlReader.Create(myPath & "/" & myXMLFileName & ".xml", settings)
reader.Read()
reader.ReadStartElement("root")
reader.ReadStartElement("Value")
Value = CInt(reader.ReadString())
reader.ReadEndElement()

'Sonstige Werte laden
Do
Try
reader.ReadEndElement()
If reader.Name <> "ApplicationValue" Then Exit Do
Catch ex As Exception
Exit Do
End Try
'Lies die Attribute
Dim k As String = "" 'Hilfsvariable für Key
Dim v As String = "" 'Hilfsvariable für Value
'If reader.HasAttributes Then
While reader.MoveToNextAttribute()
If reader.Name = "Description" Then
k = reader.Value
End If
If reader.Name = "Value" Then
v = reader.Value
End If
End While
' Move the reader back to the element node.
reader.MoveToElement()
'End If
If k > "" Then Other.Add(k, v)
Loop
reader.Close()
End Using
Catch ex As Exception 'Die XML-Datei scheint noch nicht zu existieren
MsgBox(ex.Message)
End Try

Labels:

0 Kommentare:

Kommentar veröffentlichen

Links zu diesem Post:

Link erstellen

<< Startseite