我正在尝试让Firefox以类似于Internet Explorer的格式呈现返回给它的XML。
目前它只显示字段值..即NO XML
我遗失了一些特殊的设置吗?
修改
这是要返回的xml
<ArrayOfSampleItem xmlns="http://schemas.datacontract.org/2004/07/InmoCasaService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><SampleItem><Id>1</Id><StringValue>Hello</StringValue></SampleItem></ArrayOfSampleItem>
但它显示以下内容
1Hello
修改
以下是通过fiddler返回的内容
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 222
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 16 Aug 2010 19:56:27 GMT
<ArrayOfSampleItem xmlns="http://schemas.datacontract.org/2004/07/InmoCasaService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><SampleItem><Id>1</Id><StringValue>Hello</StringValue></SampleItem></ArrayOfSampleItem>
修改
现在我有了这个...但仍然是同样的问题..看看内容类型
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 226
Content-Type: application/xml
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 17 Aug 2010 06:09:14 GMT
<ArrayOfSampleItem xmlns="http://schemas.datacontract.org/2004/07/InmoCasaService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><SampleItem><Id>1</Id><StringValue>He4444llo</StringValue></SampleItem></ArrayOfSampleItem>
答案 0 :(得分:1)
这是因为Firefox正在尝试将文件呈现为HTML,因为Content-Type: text/html
标题会告诉它。 HTML浏览器应该忽略未知标签。
您希望服务器返回Content-Type: application/xml
。我不知道如何配置IIS来执行此操作,但最简单的方法可能是使用.xml
扩展名来命名文件,如果您还没有。
答案 1 :(得分:1)
我有同样的问题,它原来是我的插件之一(Wappalyzer)。阅读,我认为有一些插件可以做到这一点(包括Firebug)。
禁用它并重新启动Firefox解决了这个问题。
答案 2 :(得分:1)
嗯,这是可能有帮助的魔法的一部分:
在你的javascript中,假设你有一串XML - 无论它如何到达 - 就像这样:
var myXMLDoc = "<?xml version='1.0' ?><snarg><floof>42</floof></snarg>";
如果将其卡入当前文档(或新窗口),如下所示:
document.write (myXMLDoc);
然后浏览器将其视为HTML,您将无法在Firefox中获得可爱的XML树形图 但是,如果您在文档之前加上魔术,告诉浏览器如何解释它:
document.write ("data:text/xml," + myXMLDoc);
然后,您将启动Firefox解释为XML并获得酷树图。
答案 3 :(得分:0)
它也可能无法在FF中渲染,因为你没有xml完整的结构,包括标题(不是http标题,它们似乎很好)和编码信息。