Okay, so it's dynamically generated as a result of an actual http request.
Well, that's not really so much different from treating it as a file.
Use [man]fsockopen[/man], and construct the appropriate http GET request (there's an example on the cited page), with the full URL in it, send it to the server, and read through the response as you would for a file (fread a chunk, parse it, fread another chunk...). The only thing to note is that what you fread will include the http response header - so throw away everything up to and including the first blank line before you start XML parsing.