XML显示为纯文本

时间:2012-02-04 19:43:41

标签: internet-explorer firefox google-chrome safari

我从外部提供程序检索XML,并且为了调试我通常从浏览器中查看它。不幸的是,只有Internet Explorer才能将数据呈现为XML。 Chrome,Safari,Firefox等所有其他浏览器都出于某种原因将其呈现为纯文本。

有人可以解释为什么会这样吗?

感谢。

1 个答案:

答案 0 :(得分:2)

尝试(如果可以):

  • 将返回页面的mimetype强制为text/xml
  • 控制xml的声明以检查其是否正确
  • 如果正确,则控制DOCTYPE声明

您可以在此处粘贴您的代码/返回的XML以显示错误!

稍后添加

事实上,如果XML格式不正确(例如:不能很好地转义属性在某些元素上的值)浏览器将全部显示为纯文本。尝试使用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,但解决此问题的唯一方法是修改使用xml文件响应的Web服务的源代码。 要验证您是否可以,例如使用Chrome按<F12>,请选择网络并重新加载页面(指向您要查看的资源),然后查看“类型”列。