Sì. Devi attraversare il Dom all'indietro di tot livelli e poi ridiscendere fino a ciò che ti interessa.
Se invece vuoi un modo "dinamico", allora non ciclare sui campi con classe seriali (che comunque nel codice non vedo) ma sulle classi "padri", che così ti recupera il Dom e per ogni "pezzo" vai a cercarti i name relativi, sia del codice che del seriale