Make sure that you don't have any extra whitespace in file.php. The PHP include functions (include, include_once, require, and require_once) all put the PHP parser back into text/html mode, not PHP mode.
It does this because all files, by default, are treated as plain text. The PHP parser re-enters PHP code mode when it sees the first code delimiter (e.g. <?php).
As such, if the PHP interpreter discovers ANY non-code text, it will spit out the default HTTP headers and send that non-code text to the client. More often than not, this non-code text is whitespace.
If you want to FORCE PHP to send the correct headers, you can:
a) Make sure to explicitly send the text/xml header before doing anything else, and/or
b) Trim ALL whitespace from all PHP source files.