La fopen in linea di principio lavora su file locali*, per cui devi in primo luogo usare una qualche libreria per recuperare il file dal server remoto; puoi usare ad esempio libcURL (multipiattaforma), o, su Windows, le funzioni di urlmon.
Una volta ottenuto il file, per effettuarne il parsing esistono diverse librerie, una delle più diffuse è Xerces-C++ (anche lei multipiattaforma); su Windows dovrebbe essere inclusa MSXML.
* nulla impedisce ad un'implementazione della libreria C di consentirle di lavorare anche su file remoti, ma in pratica non mi risulta che nessuno abbia mai fatto una cosa del genere con il protocollo HTTP.