You don't have to make a connection as such, you can just load the XML directly into a DataSet, i.e.
VB Code:
  1. Dim ds As New DataSet
  2.       Dim xml As String
  3.  
  4.       xml = "<?xml version='1.0' encoding='utf-8' ?><ArtWork><Art><ID>1</ID><title>Blue World</title><Artist>Steve Jackson</Artist><Path>c:\artwork\blu01.jpg</Path><Style>Abstract</Style></Art><Art><ID>2</ID><title>The Body</title><Artist>George Willard</Artist><Path>c:\artworkbo01.jpg</Path><Style>Modern</Style></Art><Art><ID>3</ID><title>Flashlight</title><Artist>Bob Miller</Artist><Path>c:\artqorkfl01.jpg</Path><Style>Modern</Style></Art></ArtWork>"
  5.       ds.ReadXml(New IO.MemoryStream(System.Text.Encoding.ASCII.GetBytes(xml)))
  6.  
  7.       DataGrid1.DataSource = ds
  8.       DataGrid1.DataMember = "Art"
And if you have the XML in a file, just pass the file name to the ReadXML method instead, i.e.
VB Code:
  1. Dim ds As New DataSet
  2.  
  3.       ds.ReadXml("c:\data.xml")
  4.  
  5.       DataGrid1.DataSource = ds
  6.       DataGrid1.DataMember = "Art"