Ho un oggetto, restituito da un WebService, con una struttura un po' particolare, nel senso che contiene alcune proprieta' semplici come stringe, valori numerici e booleani, ecc, ma anche altri oggetti "figli" ciascuno con delle proprie proprieta' semplici o oggetti figli.

Per esempio, una struttura di questo tipo

codice:
Customer (oggetto principale) 
    |__FirstName 	(semplice stringa)
    |__LastName		(semplice stringa)
    |__Address 		(oggetto)
    |	|
    |  	|__AddressLine1 (semplice stringa)
    |	|__AddressLine2 (semplice stringa)
    |	|__Town		(semplice stringa)
    |	|__Country	(semplice stringa)
    |	|__Zip		(semplice stringa)
    |
    |__Phone
	|
	|__DayPhone	
	|	|
	|	|__AAA	(semplice stringa)
	|	|__BBB	(semplice stringa)
	|	|__CCC	(semplice stringa)
	|
	|__NightPhone	
		|
		|__AAA	(semplice stringa)
		|__BBB	(semplice stringa)
		|__CCC	(semplice stringa)

ecc
Avrei bisogno di ottenere in una maniera il piu' automatica possibile (la struttura di quanto restituito dal ws potrebbe cambiare) un DataSet che contenga, internamente, la stessa struttura dell'oggetto restituito dal ws e di tutti gli eventuali oggetti figli, come nell'esempio.
Ottenuto il DataSet, vi faro' aggiungere dinamicamente delle relazioni per poter visualizzare il tutto in una HierarGrid.

Qualche suggerimento?