在 Internet Explorer 中使用 XSLT 转换 XML

发布于 2024-10-20 19:45:50 字数 700 浏览 1 评论 0原文

我需要 JavaScript 脚本通过 XSLT 表将 XML 文件解析为 XHTML 代码。我的代码与 Firefox、Opera 和 Safari 兼容。

  function loadXMLFile(path) {
   var file = document.implementation.createDocument("", "", null);
   file.async = false;
   file.load(path);
   return file;
  }
  function parseXMLFile() {
   var xml = loadXMLFile("data.xml");
   var xsl = loadXMLFile("data.xsl");
   var xslt = new XSLTProcessor();
   xslt.importStylesheet(xsl);
   var xhtml = xslt.transformToFragment(xml, document);
   document.firstChild.replaceChild(xhtml, document.firstChild);
  }
  parseXMLFile();

对于 Internet Explorer 和 Chrome 来说,该代码无效。我知道 IE 的 Microsfot.XMLDOM 库,但我不知道如何使用它。如何为 IE 和可选的 Chrome 编写好的代码?

I need JavaScript script to parsing of XML files through XSLT sheet to XHTML code. I've code compatible with Firefox, Opera and Safari.

  function loadXMLFile(path) {
   var file = document.implementation.createDocument("", "", null);
   file.async = false;
   file.load(path);
   return file;
  }
  function parseXMLFile() {
   var xml = loadXMLFile("data.xml");
   var xsl = loadXMLFile("data.xsl");
   var xslt = new XSLTProcessor();
   xslt.importStylesheet(xsl);
   var xhtml = xslt.transformToFragment(xml, document);
   document.firstChild.replaceChild(xhtml, document.firstChild);
  }
  parseXMLFile();

It is invalid code for Internet Explorer and Chrome. I know about Microsfot.XMLDOM library for IE, but I don't know how use it. How write good code for IE and optional Chrome?

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

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

发布评论

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

评论(2

云雾 2024-10-27 19:45:50

这是 IE 中 XSLT 转换的示例,

var xml = new ActiveXObject("Microsoft.XMLDOM"); 
var xslt = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
xml.load("data.xml");
xslt.load("data.xls");

var processor   = new ActiveXObject("Msxml2.XSLTemplate");
processor.stylesheet = xslt;

var objXSLTProc = processor.createProcessor();
objXSLTProc.input = xml;
objXSLTProc.transform();
var output  = objXSLTProc.output;

我在博客中写了相关文章

Here is example of the transformation of XSLT in IE

var xml = new ActiveXObject("Microsoft.XMLDOM"); 
var xslt = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
xml.load("data.xml");
xslt.load("data.xls");

var processor   = new ActiveXObject("Msxml2.XSLTemplate");
processor.stylesheet = xslt;

var objXSLTProc = processor.createProcessor();
objXSLTProc.input = xml;
objXSLTProc.transform();
var output  = objXSLTProc.output;

I wrote article about it in my blog

深陷 2024-10-27 19:45:50

这就是我正在使用的,它是跨浏览器兼容的,并且您还可以访问源代码,以防出现任何问题。

http://johannburkard.de/software/xsltjs/

This is what I'm using, it's cross-browser compatible and you've got access to the source code as well in case there are any issues.

http://johannburkard.de/software/xsltjs/

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