Sure, OSPi can parse XML. If you are using Dan’s Python interval program, it should be pretty easy to add a module to parse XML data from your server. If you are using the unified firmware, it’s a bit tricky because that program is written in C++ which means it’s not as easy as Python to parse XML.
The way the unified firmware parses weather data is that it queries the opensprinkler.com cloud server which runs a Python script. So the cloud server serves as a middle man between OS and WUnderground. If you can modify your server to return data in simpler format, that should work a lot better. You can take a look at weather.cpp in the unified firmware code to see the format of the output data from the weather script.