So I have a webpage that has some javascript that gets executed when a link is clicked. This javascript opens a new window and calls some other javascript which requests an xml document which it then parses for a url to pass to a video player. How can I get that xml response using selenium?
Short answer, unless the xml is posted to the page, you can't.  Long answer, you can use Selenium to do JS injection on the page so that the xml document is replicated to some hidden page element you can expect, or stored to a file locally that you can open.  This is, of course, assuming that the xml document is actually retrieved client side; if this is all serverside, you'll need to integrate with the backend or emulate the call yourself.  Oh, and one last option to explore would be to proxy the browser Selenium is driving, then inspect the traffic for the response containing the xml.  Though more complicated, that actually could be argued to be the best solution, since you aren't modifying the system under test to test it.
Handling responses with Python bindings for Selenium