Hola polgrana
Prueba los objetos que tiene .Net para el manejo de documentos XML, aquí te dejo el link del espacio de nombres System.Xml
http://msdn.microsoft.com/es-co/library/system.xml(v=vs.80).aspx
Aquí te muestra cuales son las clases que tiene y cuales son las formas de usarlos, para el caso que presentas en particular, imagino que lo que estás intentando es que al mostrar la variable a te muestre el XML correctamente formado, para lo cual también te dejo un ejemplo:
Código vb:
Ver originalImports System.Xml
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cnn As New SqlConnection("Server=adserver;uid=sa;pwd=1234;dat abase=empatic")
Dim da As New SqlDataAdapter("select * from producte for xml path('producte'), root('Productes')", cnn)
Dim ds As New DataSet
da.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
Dim a As String = ds.Tables(0).ToString
Dim _xml As New XmlDocument()
_xml.LoadXml(a)
_xml.Save("C:\myDocXml.xml")
End Sub
End Class
En el ejemplo el guarda el archivo en la ruta que le especifiques, no sé si así te sirva, pero ya con eso es que le practiques, igual si tienes dudas pues las pones a ver en que se te puede ayudar
Saludos...