在chrome中访问未转换的xml
我们公司几乎每台服务器都使用标准的xml格式,不用说,这相当可怕。我有一个xslt样式表,可以更容易地获取相关信息,但是由于许多因素,在xml中部署链接的样式表是不实际的。我正在开发一个chrome扩展,以便在任何与url模式匹配的页面上执行转换 我的问题是,当您在chrome中加载xml文档时,浏览器会尽力提供帮助,并将其转换为漂亮的html格式。除非可以从内容脚本访问源xml,否则无法应用xslt。我试图从url获取原始源,但在扩展中遇到权限问题 我唯一的另一个想法是使用jquery并从html中手动解析出来,但这看起来有点痛苦,而且我已经有了一个有效的xsl来完成我需要的一切在chrome中访问未转换的xml,xml,google-chrome,xslt,Xml,Google Chrome,Xslt,我们公司几乎每台服务器都使用标准的xml格式,不用说,这相当可怕。我有一个xslt样式表,可以更容易地获取相关信息,但是由于许多因素,在xml中部署链接的样式表是不实际的。我正在开发一个chrome扩展,以便在任何与url模式匹配的页面上执行转换 我的问题是,当您在chrome中加载xml文档时,浏览器会尽力提供帮助,并将其转换为漂亮的html格式。除非可以从内容脚本访问源xml,否则无法应用xslt。我试图从url获取原始源,但在扩展中遇到权限问题 我唯一的另一个想法是使用jquery并从ht
有没有更好的方法可以让源xml进行转换?如果无法插入处理指令,可以使用JavaScript触发转换:
function loadXML(fileName,mime) {
var xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.open("GET",fileName,false);
if(mime) xmlHttpRequest.overrideMimeType(mime);
xmlHttpRequest.send("");
return xmlHttpRequest.responseXML;
}
function transformDocument(url) {
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(loadXML('test.xsl','application/xslt+xml'));
return xsltProcessor.transformToDocument(loadXML(url),document);
}
transformDocument()
将返回一个HTML元素,然后可以显示该元素。我看到几个选择:
- 把它放到一个iframe中
- 用转换后的文档替换当前文档(例如,通过替换页眉和正文)
- 从转换后的文档中获取一些div,并将其插入到当前文档中
- 将其作为数据URL打开