Преобразование XML с помощью XSLT в Internet Explorer - PullRequest
0 голосов
/ 07 марта 2011

Мне нужен скрипт JavaScript для разбора XML-файлов через лист XSLT в код 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.Я знаю о библиотеке Microsfot.XMLDOM для IE, но не знаю, как ее использовать.Как написать хороший код для IE и опционально Chrome?

Ответы [ 2 ]

3 голосов
/ 14 сентября 2011

Вот пример преобразования XSLT в 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;

Я написал статью об этом в своем блоге

0 голосов
/ 07 марта 2011

Это то, что я использую, это кросс-браузерная совместимость, и у вас есть доступ к исходному коду, а также в случае возникновения проблем.

...