Scusate se mi intrometto...stavo seguendo a scopo "didattico"...
Per la struttura dell' xml non è meglio così:
<Servizi>
<item>
<id>1</id>
<tipologia>RISTRUTTURAZIONE</tipologia>
<descrizione>Bagno</descrizione>
</item>
<item>
<id>2</id>
<tipologia>RISTRUTTURAZIONE</tipologia>
<descrizione>Facciata</descrizione>
</item>
<item>
<id>3</id>
<tipologia>TINTEGGIATURA</tipologia>
<descrizione>Facciata</descrizione>
</item>
---- ECCETERA ECCETERA ----
</Servizi>
è da vedere come un file excel (servizi), con un foglio(item) è tre colonne <id>, <tipologia> e <descrizione>, per i tipi di dati che ho inteso <id> si può anche togliere...
Secondo me è molto più malleabile sia per semplicità che per eseguire aggiunte, modifiche o query, vale sempre l' esempio di excel con colonne, righe, celle, trova, filtro dati, ecc,
Per quanto mi riguarda mi sono trovato bene a gestire gli xml con DataSet anche se System.Xml penso offra molto di più.