浏览器客户端XML转换需在XML中用声明XSLT,同源且仅支持XSLT 1.0;Chrome等现代浏览器已移除原生支持,须用XSLTProcessor(Firefox/Safari)或xslt-processor、Saxon-JS等JS方案实现。
在浏览器中用 XSLT 进行客户端 XML 转换,核心是通过 XML 文档声明关联 XSLT 样式表,由浏览器原生解析并渲染结果(仅限支持 XSLT 的浏览器,如旧版 IE、Firefox、Safari;Chrome 自 2013 年起已移除内置 XSLT 处理器,需借助 JavaScript 模拟)。
在 XML 文件的根元素前(即 之后、第一个元素之前),添
加 xml-stylesheet 处理指令:
浏览器 XSLT 引擎(如 Firefox 的 Gecko)默认使用 XSLT 1.0,不支持 XSLT 2.0/3.0 特性:
Chrome、Edge(Chromium 内核)、新版 Safari 已禁用原生 XSLT 处理。可行替代方案是用 XHR + XSLTProcessor(Firefox/Safari 支持)或第三方库:
fetch('data.xml').then(r => r.text()).then(xml => {
const xsl = new DOMParser().parseFromString(xslContent, 'text/xml');
const processor = new XSLTProcessor(); processor.importStylesheet(xsl);
const result = processor.transformToFragment(new DOMParser().parseFromString(xml, 'text/xml'), document);
document.body.appendChild(result);
});转换失败时,浏览器通常静默忽略错误,需主动检查: