Utilizaría un repater, que ofrece un mejor arreglo para requisitos particulares de la salida
usted necesitaría sí un repetidor jerarquizado
aquí una clase particular simple en cómo manipular los repetidores
http://msdn.microsoft.com/en-us/library/aa478959.aspx