Heim > Web-Frontend > js-Tutorial > Hauptteil

Firefox-kompatibles Javascript XSLT zur Verarbeitung von XML-Dateien_Javascript-Tipps

WBOY
Freigeben: 2016-05-16 16:22:54
Original
1748 Leute haben es durchsucht

Ich habe kürzlich Firefox zum Debuggen von Webseiten verwendet und festgestellt, dass einige Javascript-XSLT-Anweisungen zur Verarbeitung von XML nur IE-Browser unterstützen. Einige Artikel im Internet, die JavaScript XSLT zur Verarbeitung von XML vorstellen, basieren grundsätzlich auf AJAX.

In meiner Verzweiflung habe ich eine kleine Funktion von Javascript XSLT geschrieben, um die XML-Anzeigeseite zu verarbeiten. Jetzt veröffentliche ich es, um es mit allen zu teilen, und ich hoffe, dass Sie mir einige Verbesserungsvorschläge machen können.
Verwenden Sie das XSLTProcessor-Objekt, um XML in Firefox zu verarbeiten, und verwenden Sie dabei hauptsächlich die beiden Methoden dieses Objekts:
1. transformToFragment().

2. transformToDocument().

Der folgende Code verwendet nur die Methode transformToFragment() zum Verarbeiten von XML-Dateien. Wenn Sie daran interessiert sind, Javascript XSLT zum Verarbeiten von XML-Dateien in Firefox zu verwenden, können Sie auch versuchen, den folgenden Code umzuschreiben, um die Methode transformToDocument() zu verwenden . Verarbeitungsfunktionen.
Der Javascript-Code lautet wie folgt:

Code kopieren Der Code lautet wie folgt:

Funktion initialize() {
    var xmlDoc;
    var xslDoc;

    // 判断浏览器的类型
    if(document.implementation && document.implementation.createDocument)
    {       
        // 支持Mozilla浏览器
        versuche es
        {
            xmlDoc = document.implementation.createDocument("", "", null);   
            xmlDoc.async = false;
            xmlDoc.load("guestbook/guestbook.xml");
        }
        fangen(e)
        {
            alarm("error:001");
        }
        versuche es
        {
            xslDoc = document.implementation.createDocument("", "", null);
            xslDoc.async = false;    
              xslDoc.load("guestbook/guestbook.xsl");
             
          }
          fangen(e)
          {
              alarm("error:002");
          }
          versuche es
          {
              // 定义XSLTProcessor对象   
            var xsltProcessor = new XSLTProcessor();
            xsltProcessor.importStylesheet(xslDoc);
            var oResultFragment = xsltProcessor.transformToFragment(xmlDoc,document);
            // 将解析过的文本输出到页面
            var oDiv = document.getElementById("guestbookPanel");
            oDiv.appendChild(oResultFragment);
        }
        fangen(e)
        {
            alarm("error:003");
        }   
    }
    sonst if(typeof window.ActiveXObject != 'undefiniert')
    {       
        //var xmlDoc=Server.CreateObject("Msxml2.DOMDocument.4.0");       
        // 支持IE浏览器
        xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
        xslDoc = new ActiveXObject('Microsoft.XMLDOM');
        xmlDoc.async = false;
        xslDoc.async = false;    
        xmlDoc.load("guestbook/guestbook.xml");
          xslDoc.load("guestbook/guestbook.xsl");
        guestbookPanel.innerHTML = xmlDoc.documentElement.transformNode(xslDoc);   
    }
    sonst
    {
        alarm("Browser unbekannt!");
    }
}

Javascript Dom ist die zweite Möglichkeit, XSL-Anzeigedaten zu verarbeiten.

Der Hauptcode lautet wie folgt:

Code kopieren Der Code lautet wie folgt:

var xmlDoc;
var xslDoc;
// Bestimmen Sie den Browsertyp
if(document.implementation && document.implementation.createDocument)
{
// Unterstützt den Mozilla-Browser
versuche es
{
xmlDoc = document.implementation.createDocument("", "", null); xmlDoc.async = false;
xmlDoc.load("guestbook/guestbook.xml");
xslDoc = document.implementation.createDocument("", "", null);
xslDoc.async = false;
xslDoc.load("guestbook/guestbook.xsl");
// XSLTProcessor-Objekt
definieren var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslDoc);
// transformToDocument-Methode
var result = xsltProcessor.transformToDocument(xmlDoc);
var xmls = new XMLSerializer();
Document.getElementById("guestbookPanel").innerHTML = xmls.serializeToString(result);
}
fangen(e)
{
warning("Xml/xsl-Verarbeitung kann nicht durchgeführt werden");
}
}
sonst if(typeof window.ActiveXObject != 'undefiniert')
{
versuche es
{
//Unterstützung des IE-Browsers
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xslDoc = new ActiveXObject('Msxml2.DOMDocument'); xmlDoc.async = false;
xslDoc.async = false;
xmlDoc.load("guestbook/guestbook.xml");
xslDoc.load("guestbook/guestbook.xsl");
guestbookPanel.innerHTML = xmlDoc.documentElement.transformNode(xslDoc);
}
fangen(e)
{
warning("Xml/xsl-Verarbeitung kann nicht durchgeführt werden");
}
}
sonst
{
alarm("Browser unbekannt!");
}


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!