Sì...la maggiorparte delle lib XML (fra cui quella consigliata) possono effettuare la ricerca per nome o attributo.
Da quello che ho capito potresti visitare l'albero in modo completo
pseudo-codice
codice:visita(nodo, attributi_cercati) { for(nodo_corrente = nodo->primo_figlio; nodo_corrente is not null; nodo_corrente = nodo_corrente->fratello_successivo) { visita(nodo_corrente, attributi_cercati); } for_each(attributi_cercati) { se il nodo possiede l'attributo i-esimo stampa info } }