The way that I prefer to handle XML files, especially styled like how you have it, is to create a class and serialize it. Take a look at this class:
Code:
Public Class Note
Public Property [To] As String
Public Property From As String
Public Property Heading As String
Public Property Body As String
Sub New()
Me.To = String.Empty
Me.From = String.Empty
Me.Heading = String.Empty
Me.Body = String.Empty
End Sub
End Class
You could serialize and deserialize it like this:
Code:
Private Sub SerializeNote(ByVal path As String, ByVal note As Note)
Using sw As IO.StreamWriter = New IO.StreamWriter(path)
Dim x As Xml.Serialization.XmlSerializer = New Xml.Serialization.XmlSerializer(note.GetType)
x.Serialize(sw, note)
End Using
End Sub
Private Function DeserializeNote(ByVal path As String) As Note
Dim newNote As Note = New Note
Using sr As IO.StreamReader = New IO.StreamReader(path)
Dim x As Xml.Serialization.XmlSerializer = New Xml.Serialization.XmlSerializer(newNote.GetType)
newNote = DirectCast(x.Deserialize(sr), Note)
End Using
Return newNote
End Function