2012-04-05 3 views
0

In Microsoft Internet Explorer können wir Msxml2.DOMDocument.6.0 activeX KomponenteXSLT-Transformation durch Javascript nur für IE

zu tun Xslt basierte Transformation mit dem transformNode() -Methode verwenden. Wir können durch die folgende Methode eine XML-

oder Xslt laden:

var activeX = new ActiveXObject("Msxml2.DOMDocument.6.0"); 
activeX.load('webdirectories/xml/somefile.xml'); 

aber können wir eine XML laden, indem Sie die XML als String-Variable bereitstellt, anstatt die

Speicherort der XML-Datei der Bereitstellung ? etwas wie das-

var xmlFileContents = '<?xml version="1.0"?><books> .... </books>'; 

Antwort

0

Ja, gibt es eine Methode loadXML können Sie z.

if (activeX.loadXML(xmlfileContents)) { 
    // now you can access DOM here 
} 
else { 
    // check activeX.parseError.reason and errorCode here 
} 
+0

kindly Überprüfung der Richtigkeit des Code unten sirs: var xmlString = '

+0

Microsoft unterstützt nur XML 1.0, also stellen Sie sicher, wenn Ihr XML eine XML-Deklaration mit der Versionsnummer hat, die sagt '' Und nicht '1.1' wie in Ihrem Beispiel. Und ich habe absichtlich gezeigt, wie man überprüft, ob das XML erfolgreich geparst wurde, also folge dieser Codezeile, damit du jeden Parsing-Fehler sehen kannst, den der Parser dir melden könnte. Und 'activeX.transformNode ('')' wird nicht funktionieren, Sie müssen einen DOM-Knoten mit dem Stylesheet-Code übergeben. Siehe auch die MSXML-Dokumentation http://msdn.microsoft.com/en-us/library/windows/desktop/ms763742%28v=vs.85%29.aspx. –