2012-05-21 84 views
0

在一個新的項目中,我想用PHP生成一個XML文件(我已經做了很多次這個),但現在我面臨一個非常奇怪的問題,IE不顯示XML正確,但在舊項目的目錄中,XML正確顯示,但在新項目的目錄中不顯示XML。該代碼是:在IE中顯示XML

header('Content-Type: text/xml'); 
echo '<root><foo a="b">Tada</foo></root>'; 

在老項目的目錄,該程序將顯示:

<?xml version="1.0"?> 
-<root> 
    <foo a="b">Tada</foo> 
</root> 

但在新項目的目錄,只顯示:

Tada 

如果我看到源在這兩個目錄中顯示的代碼:

<root><foo a="b">Tada</foo></root> 

在Firefox中我沒有問題。有什麼想法發生了什麼?提前致謝。

Marco。

+0

嘗試使用'application/xml'媒體類型。 –

+0

您是否添加了XML序言'<?xml version =「1.0」?>'? – Oded

+0

application/xml與text/xml完全相同。 –

回答

0

我希望這能爲別人同樣的問題是helpul:

我使用PSPad編輯器創建的PHP文件,如果在選項被標記訂貨號。字節以UTF-8編碼該程序在該文件的開頭處生成一些字符,因此該XML文件格式不正確。感謝所有的評論。

1

記住添加

<? 

echo '<?xml version="1.0"?>'; 

?> 

你吐出XML文檔的其餘部分之前!

+0

你需要做一些技巧來防止php將''>''解釋爲php塊的結尾。 'echo'<'。'?xml version =「1.0」?'。'>';' – Gerben

+0

它不起作用,問題的奇怪部分在於它可以在另一個目錄中正常工作... –

+0

Stackoverflow似乎並不喜歡它,但PHP解釋器應該看到'?>'在字符串中。應該沒問題。 –