Mm... todavía no entiendo como tienes exactamente tu estructura.. pero lo que yo hago en esos casos es hacer 3 cosas..
1.- crear una clase que herede de un dataset y voy creando de forma dinámica mis tablas,relaciones y todo lo que necesite
2.- tener en otra parte mi esquema (xsd)
y finalmente
3.- tener mi XML haciendo referencia a su esquema:
por ejemplo:
<?xml version="1.0" standalone="yes"?>
<NameSpacePrincipal xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/
miarchivo.xsd">
Verifica bien que es lo que quieres que tu WS regrese.., puedes respetar algo del SOA para hacer una mejor abstracción de tus necesidades.
Espero haber sido claro..
Salu2