我们公司几乎每个服务器都发布了一个标准的xml格式,不用说,相当可怕。我有一个xslt样式表,可以更容易地获取相关信息,但由于许多因素,部署链接在xml中的样式表是不切实际的。我正在使用chrome扩展来在与url模式匹配的任何页面上执行转换。
我的问题是,当您在chrome中加载xml文档时,浏览器会尝试提供帮助并将其转换为漂亮的html格式。我不能应用我的xslt,除非我可以从我的内容脚本访问源xml。我试图从网址中获取原始来源,并且在扩展程序中遇到了权限问题。
我唯一的另一个想法是使用jquery并从他们的html中手动解析,但这看起来有点痛苦,而且我已经有了一个有效的xsl来完成我需要的一切。
有没有更好的方法可以让源xml进行转换?
答案 0 :(得分:1)
如果无法插入处理指令,可以使用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元素,然后您可以显示该元素。我看到了几个选项: