Class Person
Property Forename As String
Property Surname As String
Public Sub SaveToXml(doc As XmlDocument, node As XmlElement)
Dim child As XmlElement
child = doc.CreateElement("Forename")
child.InnerText = Forename
node.Append(child)
child = doc.CreateElement("Surname")
child.InnerText = Surname
node.Append(child)
End Sub
Public Sub LoadFromXml(node As XmlElement)
Dim child As XmlElement
child = node.SelectSingleNode("Forename")
If child IsNot Nothing Then Forename = child.InnerText Else Forename = ""
child = node.SelectSingleNode("Surname")
If child IsNot Nothing Then Surname = child.InnerText Else Surname = ""
End Sub
End Class
To save you then need something like:
Dim people As New List(Of Person)
//Do some gui work here to let the user create people and edit their names
Dim doc As New XmlDocument()
Dim root As XmlElement = doc.CreateElement("People")
doc.DocumentElement = root
For Each p As Person In people
Dim node as XmlElement = doc.CreateElement("Person")
p.SaveToXml(doc, node)
root.Append(node)
Next
doc.Save(filename)
To load:
Dim people As New List(Of Person)
Dim doc as New XmlDocument()
doc.Load(filename)
For Each item As XmlElement In doc.Select("//People")
Dim p as New Person()
p.LoadFromXml(item)
people.Add(p)
Next