第三方供应商正在向我提供一些XML,我的一个应用程序正在愉快地处理。出于调试原因,我想查看它,但它不会在浏览器中显示任何内容,而且我(和我的团队的其他成员)必须使用viewsource来查看(丑陋的)XML。
这听起来像是XSLT的经典用例,我想。我将在XSLT中编写一些简单的转换,将此XML转换为干净的HTML。将这些规则(可能是一些Javascript)以及指向XML的URL的指针弹出到本地 HTML文件中,每次打开文件时,都会刷新并格式化HTML。
然而,我被“共同原始政策”XMLHttpRequest所困扰。它拒绝获取XML,因为它来自不同的服务器 - 显然出于安全原因避免发送不适当的cookie。在这种情况下,这种担忧是不适用的。
我可以使用伪造的document.domain技巧来规避这个问题,但我不认为在浏览器中从本地计算机而不是从服务器打开文件时这是适用的。
我可以通过类似代理的网站重定向所有内容,使其看起来像来自同一个源,但这对我来说似乎是一个糟糕的黑客,并添加了不必要的网络跃点。
我可以为这项任务编写一个完整的应用程序,但这似乎过于顶层。
我想我会检查一下我是否遗漏了一些明显的东西。我只想说“在那里给我看那个XML文档,我在这里找到了我的XSLT文件。”无需涉及不必要的Web服务器。我不确定为什么它变得困难。
答案 0 :(得分:1)
如何将其作为浏览器插件编写? firefox还有一些available。
答案 1 :(得分:1)
有时候“低技术”是要走的路。您是否可以将浏览器的源查看器链接到PSPad之类的内容。然后只需单击一下即可整理HTML / XML,并且您可以使用格式良好的xml文档来“享受”。我知道,我知道,这意味着安装和下载等等,但仍然......
我刚刚回复了另一篇关于使用yahoo的YQL查询任何页面并将其作为JSON返回的帖子,然后可以将其作为<script>
标记直接嵌入到您的html页面中。你可能不得不做这样的事情才能让这一切变得更好。不知道我的答案是多么有用,因为我自己从来没有这样做,但如果你很好奇:
Cross-domain requests with JQuery using YQL
顺便说一下,为什么浏览器中没有显示任何内容?