【问题标题】:Chrome, Safari, Firefox outputs XML differentlyChrome、Safari、Firefox 以不同方式输出 XML
【发布时间】:2011-04-13 17:05:50
【问题描述】:

我有一个奇怪的问题。我正在查看 XML 文件,所以我做了这个 twitter 搜索: http://search.twitter.com/search.atom?q=basketball

Chrome 的输出如下所示:

Firefox 的输出如下所示:

然后,Safari 的输出如下所示:

我的问题是,这是怎么回事?如何让浏览器以不同的形式显示它。换句话说,如果我想输出<?xml ...,我该怎么做呢?

【问题讨论】:

  • 你希望它是什么样子的?
  • XML 在所有 3 个浏览器中完全相同。他们每个人都实现了自己的本地显示方式。如果你想让它在所有 3 上看起来都一样,你将需要手动解析和格式化它。除非您这样做,否则无法强制所有 3 个浏览器显示完全相同。
  • 我想我担心浏览器会在页面中附加额外的 html。所以,似乎有一些格式,等等......正在进行。如果我要创建一个 Web 服务,我只想要纯 xml 而不是附加到它的任何其他内容。
  • 如果您正在创建 Web 服务,这无关紧要,因为不涉及浏览器。在这种情况下,您不应该遵循我在下面的建议;你应该保持原样。

标签: xml firefox google-chrome safari


【解决方案1】:

如果您希望浏览器输出<?xml ...,请发送一个标头,让浏览器认为它是文本文件,而不是 XML 文件:

Content-Type: text/plain

【讨论】:

  • 如果我这样做,所有浏览器都会输出
【解决方案2】:

一些浏览器会使用它们识别的命名空间来呈现 XML。您可以随时“查看源代码”来查看文本。

【讨论】:

    【解决方案3】:

    您很可能永远不希望您的最终用户查看原始 XML。不同的浏览器会装饰原始 XML,因为它们希望更容易在其中找到内容,但它仍然没有用作演示格式。

    您应该将您的 XML 文件与 XSLT 文件链接,以将其转换为 HTML 以进行演示。

    【讨论】:

      【解决方案4】:

      嗯,这不仅仅是任何 XML,而是一个 Atom 文件(Atom 是提要的标准,如 RSS)。浏览器(除了 chrome)会这样识别它,并根据它们格式化提要的方式对其进行格式化。如果您想查看 XML 源代码,只需使用浏览器的查看源代码功能(通常位于右键菜单中)。

      【讨论】:

        猜你喜欢
        • 2013-12-13
        • 2013-05-30
        • 2018-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-04
        • 1970-01-01
        相关资源
        最近更新 更多