我從外部提供程序檢索XML,對於調試,我通常從瀏覽器中查看它。不幸的是,只有Internet Explorer能夠將數據呈現爲XML。所有其他瀏覽器,如Chrome,Safari,Firefox都會因爲某些原因將其呈現爲純文本格式。XML以純文本形式顯示
有人可以解釋爲什麼會出現這種情況嗎?
謝謝。
我從外部提供程序檢索XML,對於調試,我通常從瀏覽器中查看它。不幸的是,只有Internet Explorer能夠將數據呈現爲XML。所有其他瀏覽器,如Chrome,Safari,Firefox都會因爲某些原因將其呈現爲純文本格式。XML以純文本形式顯示
有人可以解釋爲什麼會出現這種情況嗎?
謝謝。
嘗試(如果你能):
text/xml
您會在這裏粘貼您的代碼/返回的XML以顯示出錯的地方!
以後添加
逸岸如果XML格式不正確formacted(例如:沒有孤單屬性的一些要素價值的一個很好的逃生)瀏覽器顯示全部爲純文本。嘗試驗證文本使用W3C XML Validator
然後正如我所說的,在第一點,請求中返回的mimetype可能是錯誤的:我有一個例子,你可以在頭中找到有時(錯誤的例子):
POST /path/to/the/service/ HTTP/1.1
Host: www.example.com
Content-Type: text/plain; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
....
如果你看一下Content-Type
你會看到Content-Type: text/plain; charset=utf-8
,將是Content-Type: text/xml; charset=utf-8
但要解決這個問題的唯一辦法就是修改Web服務的源代碼,響應與XML文件。 要驗證您是否可以(例如使用Chrome按<F12>
)選擇網絡並重新加載頁面(指向您要查看的資源)並查看Type的列。
你能告訴我我可以如何強制mimetype嗎? 當我在IE中解析時,它以'<?xml version =「1.0」encoding =「ISO-8859-1」?>開頭,所以我認爲這不是問題。 Theres沒有太多我可以粘貼在這裏,因爲輸出在其他瀏覽器只是純文本。 – JavaCake 2012-02-04 20:11:29
如果你有權訪問服務器端,你可以在語言文檔中搜索如何強制執行它(例如,在php的開頭添加'header(「content-type:text/xml」);')。相反,在Firefox上有這個插件 - > [鏈接](https://addons.mozilla.org/en-US/firefox/addon/force-content-type/)。 – zambotn 2012-02-05 00:38:52
不幸的是我沒有這樣的訪問權限,但我已經通過Java和C#訪問了2年的XML系統,所以我假設他們正在根據「書」做所有事情。解析時瀏覽器肯定有問題。 – JavaCake 2012-02-05 08:14:56
您是否指MSIE應用樣式表並使節點可展開/可摺疊的事實?這正是MSIE的方式,而不是其他瀏覽器的工作方式。 XML通常被機器消費,而不是人類,所以試圖添加樣式和行爲會干擾與最有可能的xml用戶(即其他程序和應用程序)的通信 – MatthewMartin 2012-11-29 16:30:54