Atravessar um XML usando a função recursiva

Como posso percorrer (ler todos os nós em ordem) um documento XML usando funções recursivas em c #?

O que eu quero é ler todos os nós em xml (que tem atributos) e imprimi-los na mesma estrutura que xml (mas sem Node Localname)

obrigado