如何用 Google Chrome 浏览器浏览经过 XSLT 渲染的 XML 文件

对于经过XSLT渲染的XML文件,本来,可以直接用 IE (Internet Explorer) 打开,就能看到渲染之后的样子,很方便。但是后来,微软把 IE 换成了 Microsoft Edge,按理说这是比 IE 更先进的浏览器,可是偏偏就不能直接打开经过XSLT渲染的XML文件。为了这个问题,昨天真是把我折腾坏了,折腾了好几个办法,都不能像过去那样非常方便地浏览经过XSLT渲染的XML文件

啥叫经过XSLT渲染的XML文件呢?举个例子,C 语言知名的单元测试框架 CUnit,它的运行结果是保存成一个 XML 文件的,这个 XML 文件为了让人可以直观地浏览,引用了 XSL 文件来进行渲染,这就叫 XSLT 渲染。

比如说,一个典型的 CUnit 运行输出文件,它的内容大概是这样的:

这个文件以 XML 格式保存了运行结果,可是如果要让人来直接阅读这个文件,非常不方便。请看这个文件的第 2 行:

css 复制代码
<?xml-stylesheet type="text/xsl" href="CUnit-Run.xsl" ?> 

在这里,它引用了一个 XSL 文件:CUnit-Run.xsl。这个 XSL 文件里面有一些定义,这些定义可以把 XML 文件的节点翻译成 HTML 格式,如下图所示。XSL 文件里面定义了 XML 节点的显示形式,当 XML 文件关联相应的 XSL 文件之后,可以通过 XSL 文件里定义的显示形式来呈现 XML 文件里面的内容,让人能够像看一个网页那样浏览 XML 文件里的数据内容,这就是 XML 文件的 XSLT 渲染。用程序去输出和解析 XML 文件对计算机来说是比较方便的,但是 XML 文件只要稍微长一点儿,对于人来说,直接读这样的 XML 文件就比较吃力,而 XSLT 渲染技术很好地解决了让人去读 XML 文件的问题。

自从 Windows 10 操作系统以后(包括 Windows 11),微软把 Windows 默认提供的浏览器从 IE 换成了Microsoft Edge,这本来是一件好事,IE 已经太过时了,Edge 则是一个现代的浏览器,解决了过去 IE 被人诟病的很多弊病。然而,令人遗憾的是,Edge 浏览器并没有把 IE 支持 XSLT 渲染的功能好好地继承下来(也许在内核功能上是支持的,但默认情况下并不启用这个功能,而且启用这个功能的操作也并不方便)。我看到有人说把 Edge 升级到最新就能支持了,我的已经升级到最新了呀,怎么还是不能显示呢?翻阅了很多参考文章都没搞定。至少截止到今天2024年6月15日,这个问题还是这样。

最后还是用 Google Chrome 搞定了。理想的情形应该是,假如我把 .XML 后缀的文件的打开方式关联到 Google Chorme,直接双击 XML 文件,就能看到该文件经过 XSLT 渲染之后的样子,但是可惜还不能这样。要看看以下这篇 stackoverflow 上的参考文章:

这篇文章里说,在 Chrome 启动的时候,要加上--allow-file-access-from-files这个启动参数。

如何在 Chrome 启动的时候加上这个启动参数呢?其中一个办法就是在控制台(俗称命令行)中运行 Chrome,运行的时候在命令的后面加上--allow-file-access-from-files作为命令行参数。

我觉得如果我是一个需要频繁查看 CUnit 运行结果的开发者的话,我是无法忍受每次必须在控制台里面打开 Chrome 的。当然我可以写一个批处理(.bat文件),但是我想寻求更好的办法。

所以我现在采用的办法是:在桌面上建了一个 Chrome 的快捷方式,在这个快捷方式里面,我加上了--allow-file-access-from-files这个启动参数。如下图所示:

为了与其它的快捷方式区分开,我甚至还给这个快捷方式改了个名字:Chrome XML Viewer 当然这个名字您爱取什么名字就取什么名字哈。

然后看看效果。先看看,假如直接双击经过XSLT渲染的XML文件,或者按照普通的方式在 Edge 或 Chrome 浏览器里打开,是什么效果呢?如下图所示:

效果就是如上图所示,一片空白,啥都没有。

好,现在我们先双击打开我前面创建的那个快捷方式Chrome XML Viewer打开 Chrome 窗口,然后再把我想要浏览的经过XSLT渲染的XML文件(比如:CUnit 的运行结果输出文件:CUnitAutomated-Results.xml)拖到打开的 Chrome 窗口里面去,效果如下图所示:

你看,这个 XSLT 渲染的效果就出来了。看上去还是挺好的吧。

从这个浏览效果可以看到,XSLT 渲染是一项多么有用的技术,能够把 XML 文件的内容非常友好地展现出来。假如浏览器不支持该技术,那该多么遗憾。

假如您有更好的浏览经过XSLT渲染的XML文件的方法,请告诉我。欢迎交流。谢谢!

相关推荐
浏览器爱好者3 小时前
谷歌浏览器的网页内容拦截功能
chrome
不爱运动的跑者11 小时前
探秘 Chrome 隐藏配置项:chrome://net-internals
chrome
一指流沙q16 小时前
Chrome被360导航篡改了怎么改回来?
前端·chrome
张声录119 小时前
【ETCD】【实操篇(十八)】ETCD监控实战:提升系统健康与集群调试效率
数据库·chrome·etcd
小狗蛋ing1 天前
反编译APK获取xml资源
xml·反编译
han_1 天前
不是哥们,我的console.log突然打印不出东西了!
前端·javascript·chrome
小肚肚肚肚肚哦1 天前
一键美化!为本地图片增添边框与阴影效果的 Chrome 扩展
前端·javascript·chrome
明弟有理想1 天前
Chrome RCE 漏洞复现
前端·chrome·漏洞·复现
yqcoder1 天前
同源策略详解
xml·前端·javascript
油丶酸萝卜别吃2 天前
MyBatis中XML文件的模板
xml·数据库·mybatis