ciao,
se hai qualcosa che torna in formato Xml dovresti usare le classi "XmlDocument...etc.." oppure se sai che è un dataset, puoi fare affidamento sul metodo "ReadXml" sia del DataSet che della DataTable...
Pero' sinceramente mi sembra che ci sia qualche errore di architettura se ti trovi in questi problemi, ti spiego perche':
.net permette di esporre come risultati (o anche come parametri) dei metodi Web, delle classi tue, incaricandosi di serializzarle e deserializzarle senza che ti preoccupi di metterci le mani.
Questa bellissima cosa ti permette di lavorare tipizzato, quindi di "dimenticarti" di usare DataTable, DataSet Xml da parsare etc...lavori con i tuoi oggetti e passi e ti fai tornare quelli, come singolo oggetto o come List<> di oggetti (che cmq poi sono trasformati in Array, pero' cambia poco).
Questo per dire che io lavorerei sempre in questa strada, senza problemi, ad esempio:
WEBSERVICE:
----------------------------------------------------------------
[WebMethod]
public List<Contenuto> GetContenuti()
{
List<Contenuto> contenuti = new List<Contenuto>();
....
return contenuti;
}
ENTITA:
----------------------------------------------------------------
public class Contenuto
{
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
private string titolo;
public string Titolo
{
get { return titolo; }
set { titolo = value; }
}
......
PARTE WIN32 CHE LEGGE DA WEBSERVICE:
----------------------------------------------------------------
ContenutiService webService = new ContenutiService(); //--- mio riferimento web
List<Contenuto> contenuti = new List<Contenuto>(webService.GetContenuti());
...
senza problemi di avere DataTable, DataSet che poi hai casini con i dati...io ti consiglio di cambiare la tua strada di programmazione in questa direzione, ne avrai benefici grandissimi...almeno cosi' è sempre stato per me, poi è tutto da valutare 
ps: il codice è in c#, ma il concetto è facilmente migabile a vb.net, da solo o tramite qualche convertitore:
http://www.carlosag.net/Tools/CodeTranslator/Default.aspx
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo