我正在使用 Firefox 读取 XML 文件,但它无法正确呈现 XML 文件。可能是什么问题?我在下面发布了 XML 示例:
<?xml version="1.0" encoding="utf-8"?>
<ExtPostTransaction>
<TransactionInfo>
<UserID>us</UserID>
<Password>pwd</Password>
<ServiceCode>1010</ServiceCode>
<TransactionID>T20120518091833</TransactionID>
</TransactionInfo>
</ExtPostTransaction>
我的 Firefox 显示为:
uspwd1010T20120518091833
我期待这个:
<ExtPostTransaction>
<TransactionInfo>
<UserID>us</UserID>
<Password>pwd</Password>
<ServiceCode>1010</ServiceCode>
<TransactionID>T20120518091833</TransactionID>
</TransactionInfo>
</ExtPostTransaction>
许多附加组件都会导致此问题。尝试禁用您的附加组件;如果它有效,您就知道其中之一导致了您的问题。然后,您可以一一重新启用它们,以隔离导致问题的原因。
就我而言,XML 页面显示为空白,当我查看页面源代码(右键单击页面或按 Ctrl+U 时可用选项)时,完整的 XML 就在那里。
当我禁用很棒的屏幕截图附加组件时,问题就解决了。
我建议您尝试一一停用附加组件!
对我来说,它来自 AdBlocker Ultimate(至少在 2.26 版本中)
但显然有一长串插件可以修改它,包括(至少在某些版本中): - 单击即可进行 Skype 通话 - 阿维拉 - 卡巴斯基
是的,问题发生在使用
Content-Type: application/xml
提供的内容上
我也遇到了同样的问题,我发现 Evernote webclipper 插件搞乱了我的 firefox。一旦我禁用它,我就能够查看预先格式化的 xml。
尝试禁用所有 Firefox 扩展,然后重新加载 XML 并查看 XML 是否再次显示为树。 如果是这样,请一一重新启用它们,直到您的 xml 失去其样式。
对我来说,它是 Firefox Quantum 59.0.2(64 位)中的
Adobe Acrobat 18.0.8 "Convert current web page to an Adobe PDF file"
插件。
一旦禁用,刷新页面会产生漂亮的 XML 树。启用该插件会立即将 XML 恢复为没有标签的纯文本,而无需刷新。
终于找到了适合我的解决方案。启用 Firebug 后,Firefox 似乎会错误地呈现 XML 文件。当它关闭时,XML 文件会正确呈现。
就我而言,问题在于 Firefox 的 Tampermonkey(当前为 4.18.1)。
听起来您正在使用
text/html
内容类型提供文档,因此 Firefox 正在尝试将其呈现为 HTML。
如果您希望它使用默认的 XML 视图来呈现它,您需要如实了解它是什么类型的数据。使用
application/xml
或其他 XML 内容类型提供服务。
具体操作方式取决于您的网络服务器和/或服务器端编程语言(如果涉及)。
似乎有许多扩展会修改页面的显示,从而破坏 XML 的呈现。
检查问题是否由插件引起的最佳方法是尝试在私人窗口中查看页面。如果显示正确,请一一禁用您的插件,直到找到违规者。然后,请将其添加到列表中。
其他帖子中的一些已知插件是:
我有一个非常相似的问题,但我没有可以禁用的附加组件。 然后我注意到文本中的一些图形图像。 结果发现它们是嵌入的 SVG。 当我剥离这些内容时,剩余的 XML 标记按照预期呈现为可扩展树。
显然,Firefox 渲染器首先会看到 SVG 并对其进行转换,而不会将其简单地识别为 XML 文档的一部分。 我还注意到 Chrome 以同样的方式处理这个问题。
我不知道是哪个插件导致了问题,但我没有任何想要禁用或删除的插件。
我已经安装了https://addons.mozilla.org/en-US/firefox/addon/pretty-xml/ 而且很漂亮
禁用 Selenium IDE 扩展(https://github.com/SeleniumHQ/selenium-ide)解决了我的问题。
我打开了一个私人标签,一切都很好。然后我一一关闭并打开扩展,直到 xml 文件正确呈现。
对我来说DuckDuckGo Privacy Essentials就是问题所在。
我必须禁用 Firefox 扩展 AdBlocker Lite 0.4.2 才能将 XML 文件显示为 XML 而不是文本。