Q:

How to create multiple entries in an xml file in VB.Net?

I need to save multiple entries into an xml file when I click a button. Currently, it only saves one entry, then it will overwrite the xml file for the next entry, only allowing one entry per xml file.
Private Sub btnXmlSave_Click(sender As Object, e As EventArgs) Handles btnXmlSave.Click

    Dim XmlSet As New XmlWriterSettings()
    XmlSet.Indent = True

    ' Initialize the XmlWriter.
    Dim XmlWrite As XmlWriter = XmlWriter.Create("MyCalc.xml", XmlSet)

    With XmlWrite

        ' create the XML file
        .WriteStartDocument()
        .WriteComment("XML Database.")
        .WriteStartElement("Data")

        .WriteStartElement("Calculations")

        ' write the tags and the entry into the tags
        .WriteStartElement("Number1")
        .WriteString(txtNum1.Text.ToString())
        .WriteEndElement()

        .WriteStartElement("Number2")
        .WriteString(txtNum2.Text.ToString())
        .WriteEndElement()

        .WriteStartElement("Operation")
        .WriteString(txtResult.Text.ToString())
        .WriteEndElement()

        'Close entry
        .WriteEndElement()
        .WriteEndDocument()
        .Close()

    End With

    ' provide feedback to the user that the file was saved
    MessageBox.Show("File 'MyCalc.xml' saved")

End Sub

The expected results should be like this (I added to the XML code the app creates):
<?xml version="1.0" encoding="utf-8"?>
<!--XML Database.-->
<Data>
  <Calculations>
    <Number1>34</Number1>
    <Number2>2</Number2>
    <Operation>34 - 2 = 32</Operation>
  </Calculations>
  <Calculations>
    <Number1>3</Number1>
    <Number2>2</Number2>
    <Operation>3 - 2 = 1</Operation>
  </Calculations>
</Data>

Currently, the code would overwrite the first (Calculations) with the second one, so instead of my program displaying both operations, it will only show one.  I believe it is probably a For Each loop but I haven't been able to get that to work.
Thanks again for any assistance you can give!
Here is the code for retrieving the xml data:
Private Sub btnXmlRetrieve_Click(sender As Object, e As EventArgs) Handles btnXmlRetrieve.Click

    Try

        If IO.File.Exists("MyCalc.xml") Then

            lstOutput.DataSource = Nothing
            lstOutput.Items.Clear()
            txtNum1.Clear()
            txtNum2.Clear()
            txtResult.Clear()

            Dim xmlDoc As New XmlDocument()
            Dim calcOrderNodes As XmlNodeList
            Dim calcOrderNode As XmlNode
            Dim num As Integer = 0

            xmlDoc.Load("MyCalc.xml")
            calcOrderNodes = xmlDoc.GetElementsByTagName("Calculations")

            For Each calcOrderNode In calcOrderNodes
                lstOutput.Items.Add(xmlDoc.GetElementsByTagName("Operation").Item(num).InnerText)
                num = num + 1
            Next

        Else

            MessageBox.Show("No operations were saved to a XML file.")

        End If

    Catch ex As Exception
        MessageBox.Show(ex.Message)

    End Try
End Sub

EDIT
So, I was able to get it to display correctly in the application but the xml file isn't organized correctly.  I used this code to append (that was why it was overwriting originally vs adding).  If no file exists, it creates the correct xml structure but once the file is create, it saves but it is not correctly formed.
New Code (apologies for the long post, trying to get it fixed):
Private Sub btnXmlSave_Click(sender As Object, e As EventArgs) Handles btnXmlSave.Click

    Try
        If IO.File.Exists("MyCalc.xml") Then

            Dim xmlDoc As New XmlDocument()
            xmlDoc.Load("MyCalc.xml")

            Dim calc As XmlNode = xmlDoc.CreateElement("Calculations")
            Dim num1 As XmlNode = xmlDoc.CreateElement("Number1")
            Dim num2 As XmlNode = xmlDoc.CreateElement("Number2")
            Dim Op As XmlNode = xmlDoc.CreateElement("Operation")

            num1.InnerText = txtNum1.Text
            num2.InnerText = txtNum2.Text
            Op.InnerText = txtResult.Text

            xmlDoc.LastChild.AppendChild(calc)
            xmlDoc.LastChild.AppendChild(num1)
            xmlDoc.LastChild.AppendChild(num2)
            xmlDoc.LastChild.AppendChild(Op)

            xmlDoc.Save("MyCalc.xml")
        Else
            Dim XmlSet As New XmlWriterSettings()
            XmlSet.Indent = True

            ' Initialize the XmlWriter.
            Dim XmlWrite As XmlWriter = XmlWriter.Create("MyCalc.xml", XmlSet)

            With XmlWrite

                ' create the XML file
                .WriteStartDocument()
                .WriteComment("XML Database.")
                .WriteStartElement("Data")

                .WriteStartElement("Calculations")

                ' write the tags and the entry into the tags
                .WriteStartElement("Number1")
                .WriteString(txtNum1.Text.ToString())
                .WriteEndElement()

                .WriteStartElement("Number2")
                .WriteString(txtNum2.Text.ToString())
                .WriteEndElement()

                .WriteStartElement("Operation")
                .WriteString(txtResult.Text.ToString())
                .WriteEndElement()

                ' close entry
                .WriteEndElement()
                .WriteEndDocument()
                .Close()

            End With
        End If

    Catch ex As Exception
        MessageBox.Show(ex.Message)

    End Try

    ' provide feedback to the user that the file was saved
    MessageBox.Show("File 'MyCalc.xml' saved")

End Sub

And example from the xml file showing how it is saving:
<?xml version="1.0" encoding="utf-8"?>
<!--XML Database.-->
<Data>
  <Calculations>
    <Number1>2</Number1>
    <Number2>1</Number2>
    <Operation>2 + 1 = 3</Operation>
  </Calculations>
  <Calculations />
  <Number1>3</Number1>
  <Number2>2</Number2>
  <Operation>3 / 2 = 1.50</Operation>
  <Calculations />
  <Number1>41</Number1>
  <Number2>2</Number2>
  <Operation>41 x 2 = 82</Operation>
</Data>

A:

TRY THIS:
If IO.File.Exists("MyCalc.xml") Then
        Dim xmlDoc As New XmlDocument()
        xmlDoc.Load("MyCalc.xml")

        Dim mainNode As XmlNode = xmlDoc.DocumentElement
        Dim newOp As XmlNode = xmlDoc.CreateElement("Calculations")

        'Create elements and append them to the main document node'
        Dim subNode As XmlNode = xmlDoc.CreateElement("Number1")
        subNode.InnerText = txtNum1.Text
        newOp.AppendChild(subNode)

        subNode = xmlDoc.CreateElement("Number2")
        subNode.InnerText = txtNum2.Text
        newOp.AppendChild(subNode)

        subNode = xmlDoc.CreateElement("Operation")
        subNode.InnerText = txtResult.Text
        newOp.AppendChild(subNode)

        'append child node to main node and save'
        mainNode.AppendChild(newOp)
        xmlDoc.Save("MyCalc.xml")
Else
        'Add other code here'
End If

