title: Why is the XMLWriter Not Closing?
body: <p>I am having some trouble with the XMLWriter not closing. I can successfully write the XML file once but if I try to write it again (overwrite) I get the exception: <p>
   <strong>"The process cannot access the file 'somefile.xml' because it is being used by another process."</strong></p>
  
  <pre><code>    Dim settings = New XmlWriterSettings()
      settings.Indent = True
      settings.IndentChars = " "
      settings.NewLineOnAttributes = True
  
      Try
      Dim writer As XmlWriter = XmlWriter.Create(System.IO.File.Create("somefile.xml"))
          writer.WriteStartDocument(True)
          writer.WriteStartElement("root")
          For rowCounter As Integer = ds.Tables(0).Rows.Count - 1 To 0 Step -1
              writer.WriteStartElement("someelement")
              writer.WriteElementString("col0", ds.Tables(0).Rows(rowCounter)(0).ToString)
              writer.WriteElementString("col1", ds.Tables(0).Rows(rowCounter)(1).ToString)
              writer.WriteElementString("col2", ds.Tables(0).Rows(rowCounter)(2).ToString)
              writer.WriteElementString("col3", ds.Tables(0).Rows(rowCounter)(3).ToString)
              writer.WriteElementString("col4", ds.Tables(0).Rows(rowCounter)(4).ToString)
              writer.WriteElementString("col5", ds.Tables(0).Rows(rowCounter)(5).ToString)
              writer.WriteElementString("col6", ds.Tables(0).Rows(rowCounter)(6).ToString)
              writer.WriteElementString("col7", ds.Tables(0).Rows(rowCounter)(7).ToString)
              writer.WriteEndElement()
          Next
          writer.WriteEndElement()
          writer.WriteEndDocument()
      Catch ex As System.IO.IOException
          MessageBox.Show(ex.Message)
      Finally
          writer.Flush()
          writer.Close()
      End Try
  </code></pre>