.phpファイルに
<?xml version="1.0" encoding="Shift_JIS"?>
などのxml宣言の「 <? 」が、PHPの「 <?php 」の省略タグと解釈されて、そうなる場合がある。
PHPタグを使っていないXHTMLファイルの拡張子を「 .php 」に変えただけでも、同じ症状が出る場合は、ほぼ確実にこれ。
<?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"; ?>
とphpで書き出すようにして問題解決!