为什么IE不解析从WCF数据服务返回的XML?

时间:2012-04-26 20:56:34

标签: internet-explorer wcf-data-services

我目前正在运行IE8,并正在使用WCF数据服务进行一些测试。当我在浏览器中调用我的一个集合时,我得到了

  

“您正在查看包含经常更新内容的Feed ...”

消息并且不显示任何XML,因为它无法理解Atom内容元素。但是,我可以轻松地在Chrome中进行同样的RESTful调用,甚至可以使用Fiddler并查看repsonse就好了。

是否有某些原因IE无法解析从我的WCF数据服务返回的XML,或者设置我可以更改为直接查看它?我显然有解决方法,所以这不是一个关键问题,但如果我必须使用IE查看响应,它会有所帮助。

谢谢!

4 个答案:

答案 0 :(得分:16)

如果要在IE8中查看XML,请单击

工具>互联网选项。

  1. 工具> 互联网选项。
  2. 选择内容标签
  3. Feed和网络广告下,选择设置
  4. 提前部分取消启用Feed阅读视图
  5. 如果您现在查看OData页面,则不会显示Feed查看器,但数据将以XML格式显示。

答案 1 :(得分:1)

IE 8和9只是不支持显示OData - Atom Pub Feed输出。在IE9中,提供了以下说明:

  

Internet Explorer不支持此Feed格式。

     

支持的Feed格式

     
      
  • ATOM 0.3,1.0
  •   
  • RSS 0.91,0.92
  •   
  • RSS 1.0
  •   
  • RSS 2.0
  •   

但是,仍有几种简单的方法可以查看DataService RESTful调用的输出:

  1. 在IE中查看网页的来源。猜猜那里的输出是什么!
  2. 使用Fiddler检查响应。
  3. 使用Chrome等其他浏览器,响应将直接在浏览器中输出。
  4. 也许IE 10将更好地支持显示和支持基于由创建和拥有IE的人创建的协议(OData)的源:Microsoft。

答案 2 :(得分:0)

请务必致电

response.setCharacterEncoding("text/xml;charset=utf-8");

或等效物。

答案 3 :(得分:0)

您需要停用Feed阅读视图:http://blogs.msdn.com/b/darrenliu/archive/2011/01/26/turn-rss-feed-reading-view-off.aspx

我遇到了相反的问题,Chrome将不再为我显示原始XML(我发誓曾经这样做过)。