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

2024-06-16 05:44

本文主要是介绍如何用 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 行:

<?xml-stylesheet type="text/xsl" href="CUnit-Run.xsl" ?> 

在这里,它引用了一个 XSL 文件:CUnit-Run.xsl。这个 XSL 文件里面有一些定义,这些定义可以把 XML 文件的节点翻译成 HTML 格式,让人能够像看一个网页那样浏览 XML 文件里的数据内容。这对于开发者来说是非常方便的。

可惜在 Windows 10 操作系统(包括 Windows 11)上面,Microsoft Edge 浏览器并没有把 IE 支持 XSLT 渲染的功能好好地继承下来。我看到有人说把 Edge 升级到最新就能支持了,我的已经升级到最新了呀,怎么还是不能显示呢?翻阅了很多参考文章都没搞定。

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

  • How can I make XSLT work in chrome?

这篇文章里说,在 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 文件拖到打开的 Chrome 窗口里面去,效果如下图所示:
在这里插入图片描述
你看,这个 XSLT 渲染的效果就出来了。看上去还是挺好的吧。

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

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

这篇关于如何用 Google Chrome 浏览器浏览经过 XSLT 渲染的XML 文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1065605

相关文章

intellij idea generatorConfig.xml

generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-ge

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法   消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法 [转载]原地址:http://blog.csdn.net/x605940745/article/details/17911115 消除SDK更新时的“

火语言RPA流程组件介绍--浏览网页

🚩【组件功能】:浏览器打开指定网址或本地html文件 配置预览 配置说明 网址URL 支持T或# 默认FLOW输入项 输入需要打开的网址URL 超时时间 支持T或# 打开网页超时时间 执行后后等待时间(ms) 支持T或# 当前组件执行完成后继续等待的时间 UserAgent 支持T或# User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器

微软正式推出 Spartan 斯巴达浏览器

作为用于替代 IE 浏览器的下一代继任者,微软的 Project Spartan 斯巴达浏览器可算是吊足了玩家们的胃口!如今,在最新的 Windows 10 Build 10049 版本起,它终于正式登场了。 斯巴达浏览器搭载了全新的渲染引擎、新的用户界面并集成了 Cortana 语音助手。功能上新增了稍后阅读列表、阅读视图、F12开发者工具、支持网页注释 (手写涂鸦),可以保存到 O

PC与android平板通过浏览器监控Verybot的视频

下面这个视频是PC与android平板通过浏览器监控Verybot的视频:           http://v.youku.com/v_show/id_XNjYzNzYyMTIw.html

xml概论

以下内容摘录自W3School 一、XML的特性 xml是用来传输和存储数据的,本身对数据没有任何操作。在这里要区别一下html,html是用来显示数据的。xml的焦点是数据内容,html的焦点是数据外观。 下面是xml的定义: •XML 指可扩展标记语言(EXtensible Markup Language) •XML 是一种标记语言,很类似 HTML

XML的创建

这里使用的是org.dom4j的jar包来完成xml格式数据的创建。 import java.io.IOException;import java.io.StringWriter;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.

Spring下自定义xml标签

dubbo自定义了很多xml标签,例如<dubbo:application>,那么这些自定义标签是怎么与spring结合起来的呢?我们先看一个简单的例子。 一 编写模型类 1 package com.hulk.testdubbo.model;2 3 public class Hero {4 private String name;5 private int

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException异常

用Gson解析json数据的时候,遇到一个异常,如下图: 这个异常很简单,就是你的封装json数据的javabean没有写对,你仔细查看一下javabean就可以了 比如:我的解析的代码是             Gson gson = new Gson();             ForgetJson rb = gson.fromJson(agResult.mstrJson, For