如何在 IE 中正确处理 XSL 转换并以文档片段形式获取结果

发布于 2024-10-24 09:50:20 字数 639 浏览 1 评论 0原文

我需要使用 JavaScript 在浏览器中进行 XSL 转换。

当我在现代浏览器(例如 FF 或 Chrome)中执行此操作时,我可以执行以下操作:

     var proc = new XSLTProcessor();
     proc.importStylesheet(xslDoc);
     return proc.transformToFragment(xmlDoc, targetDocument);

但使用 IE 我只能转换为新文档

     var newDoc = new ActiveXObject("Microsoft.XMLDOM");
     xmlDoc.transformNodeToObject(xslDoc, newDoc);
     return newDoc;

...或转换为文本

     return xmlDoc.transformNode(xslDoc);

转换为文本会导致巨大的性能问题(我需要将结果附加到我当前文档的 DOM 树中),转换为新文档,最终导致采用/importNode。

有没有更好的方法在 IE 中进行 XSL 转换并进一步将结果附加到 DOM 树?

I need to do XSL transformation in the browser using JavaScript.

When i'm doing this in the modern browsers, such as FF or Chrome i can do something like this:

     var proc = new XSLTProcessor();
     proc.importStylesheet(xslDoc);
     return proc.transformToFragment(xmlDoc, targetDocument);

But with IE i can only transform to a new document

     var newDoc = new ActiveXObject("Microsoft.XMLDOM");
     xmlDoc.transformNodeToObject(xslDoc, newDoc);
     return newDoc;

... or transform to text

     return xmlDoc.transformNode(xslDoc);

Transforming to text leading to huge perfomace issues (i need to append the result to my current document's DOM tree), transforming to new doc leading to doing adopt/importNode at last.

Is there a better way of doing XSL transformation in IE with further appending result to a DOM tree?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

溇涏 2024-10-31 09:50:20

只是一个想法...为什么不将此行添加到您的 xml 文件中:

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

如下所示: http:// /www.w3schools.com/xsl/xsl_transformation.asp

这将使浏览器进行转换,然后您将在要解析的 iframe 中加载此 xml ?

<iframe src="your.xml" onload="parse_it()" ></iframe>

Just an idea ... why not add this line to your xml file :

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

like shown here : http://www.w3schools.com/xsl/xsl_transformation.asp

This would let the browser do the transformation and then you'll load this xml in a iframe that you would parse ?

<iframe src="your.xml" onload="parse_it()" ></iframe>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文