2011-12-26 65 views
3

我正在嘗試在PHP文檔中使用XML。我收到<?xml?>標記的錯誤。我假設PHP試圖將XML標籤作爲PHP標籤讀取。有誰知道錯誤是什麼?這些XML標記爲什麼會在我的PHP中創建一個錯誤?

<body> 
    <?xml-stylesheet type="text/css" href="stylebox.css" ?> 
    <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> 
     <rect id="p1" x="100" y="100" width="100" height="100" /> 
     <rect id="p2" x="200" y="100" width="100" height="100" /> 
    </svg> 
</body> 
+0

如果有一個頁面上沒有PHP,你可以在該頁面上使用.htaccess(或針對該問題的所有.xml文件)顯示PHP引擎 – 2011-12-26 08:42:49

+1

這可能是短標籤正在導致該問題。如果可能的話,你應該禁用它們。如果沒有,那麼一個非常醜陋的解決方案就是將該行作爲PHP中的字符串進行回顯。 – Corbin 2011-12-26 08:45:41

回答

2

打印這本是短暫的PHP開放標籤產生的問題。在你的php.ini文件中更改設置

地說:

short_open_tag = Off 

否則在一個變量來代替指定這個值的 <?xml-stylesheet type="text/css" href="stylebox.css" ?>

$XMLstr='<?xml-stylesheet type="text/css" href="stylebox.css" ?>'; 

echo $XMLstr; 
+0

爲什麼要打擾變量? – Corbin 2011-12-26 09:04:25

+0

感謝Vasim - 沒有意識到我的php.ini中有一個short_open_tag。所有修正:) – 2011-12-26 09:54:24

1

PHP試圖解析您的<? ?>標籤短開啓和關閉PHP標籤。 嘗試使用echoprint等:

<body> 
    <?php echo '<?xml-stylesheet type="text/css" href="stylebox.css" ?>'; ?> 
    <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> 
     <rect id="p1" x="100" y="100" width="100" height="100" /> 
     <rect id="p2" x="200" y="100" width="100" height="100" /> 
    </svg> 
</body> 
相關問題