La libreria XML::LibXML (linux) dovrebbe fare al caso tuo. E' in grado di parsare delle pagine html e trarne dei sorgenti XML. Ovviamente devi scrivere un po' di codice (C, Perl, Python, quello che ti pare).

Oppure prova ad usare il processore xsltproc, tra le opzioni ha la possibilita' di passare come file di Input un file html e tramite xslt ottenere un XML, ma devi studiare un po' la documentazione.

Ultima possibilita' che mi viene in mente e' trasformare le tue pagine in XHTML Strict. Dovrebbero esistere dei tools di conversione (forse lo fa anche qualche software).

Una volta che sei in XML "tornare indietro" sara' molto molto piu' semplice....