Maison >interface Web >js tutoriel >Traitement des fichiers XML Javascript XSLT compatible Firefox_conseils javascript

Traitement des fichiers XML Javascript XSLT compatible Firefox_conseils javascript

WBOY
WBOYoriginal
2016-05-16 16:22:541764parcourir

J'ai récemment utilisé Firefox pour déboguer des pages Web et j'ai découvert que certaines instructions Javascript XSLT pour le traitement du XML ne prennent en charge que les navigateurs IE. Certains articles sur Internet qui présentent JavaScript XSLT pour traiter XML sont essentiellement basés sur AJAX.

En désespoir de cause, j'ai écrit une petite fonction de Javascript XSLT pour traiter la page d'affichage XML. Maintenant, je le publie pour le partager avec tout le monde et j'espère que vous pourrez me donner quelques suggestions d'amélioration.
Utilisez l'objet XSLTProcessor pour traiter le XML dans Firefox, principalement en utilisant les deux méthodes de cet objet :
1. transformToFragment().

2. transformToDocument().

Le code suivant utilise uniquement la méthode transformToFragment() pour traiter les fichiers XML. Si vous souhaitez utiliser Javascript XSLT pour traiter les fichiers XML dans Firefox, vous pouvez également essayer de réécrire le code suivant pour utiliser la méthode transformToDocument(). .fonctions de traitement.
Le code Javascript est le suivant :

Copier le code Le code est le suivant :

fonction initialiser() {
    var xmlDoc;
    var xslDoc;

    // 判断浏览器的类型
    if(document.implementation && document.implementation.createDocument)
    {       
        // 支持Mozilla浏览器
        essayez
        {
            xmlDoc = document.implementation.createDocument("", "", null);   
            xmlDoc.async = false;
            xmlDoc.load("livre d'or/livre d'or.xml");
        >
        attraper(e)
        {
            alert("erreur:001");
        >
        essayez
        {
            xslDoc = document.implementation.createDocument("", "", null);
            xslDoc.async = faux ;    
              xslDoc.load("livre d'or/livre d'or.xsl");
             
          >
          attraper(e)
          {
              alert("erreur:002");
          >
          essayez
          {
              // 定义XSLTProcessor对象   
            var xsltProcessor = new XSLTProcessor();
            xsltProcessor.importStylesheet(xslDoc);
            var oResultFragment = xsltProcessor.transformToFragment(xmlDoc,document);
            // 将解析过的文本输出到页面
            var oDiv = document.getElementById("guestbookPanel");
            oDiv.appendChild(oResultFragment);
        >
        attraper(e)
        {
            alert("erreur:003");
        }   
    >
    else if(typeof window.ActiveXObject != 'undefined')
    {       
        //var xmlDoc=Server.CreateObject("Msxml2.DOMDocument.4.0");       
        // 支持IE浏览器
        xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
        xslDoc = new ActiveXObject('Microsoft.XMLDOM');
        xmlDoc.async = false;
        xslDoc.async = faux ;    
        xmlDoc.load("livre d'or/livre d'or.xml");
          xslDoc.load("livre d'or/livre d'or.xsl");
        guestbookPanel.innerHTML = xmlDoc.documentElement.transformNode(xslDoc);   
    >
    d'autre
    {
        alert("Navigateur inconnu!");
    >
>

javascript dom est la deuxième façon de traiter les données d'affichage XSL.

Le code principal est le suivant :

Copier le code Le code est le suivant :

var xmlDoc;
var xslDoc;
// Déterminer le type de navigateur
if(document.implementation && document.implementation.createDocument)
{
// Prise en charge du navigateur Mozilla
essayez
{
xmlDoc = document.implementation.createDocument("", "", null
); xmlDoc.async = false;
xmlDoc.load("livre d'or/livre d'or.xml");
xslDoc = document.implementation.createDocument("", "", null);
xslDoc.async = faux;
xslDoc.load("livre d'or/livre d'or.xsl");
// Définir l'objet XSLTProcessor
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslDoc);
// Méthode transformToDocument
var résultat = xsltProcessor.transformToDocument(xmlDoc);
var xmls = new XMLSerializer();
Document.getElementById("guestbookPanel").innerHTML = xmls.serializeToString(result);
>
attraper(e)
{
alert("Impossible d'effectuer le traitement xml/xsl");
}
>
else if(typeof window.ActiveXObject != 'undefined')
{
essayez
{
//Prise en charge du navigateur IE
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xslDoc = new ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async = false;
xslDoc.async = faux;
xmlDoc.load("livre d'or/livre d'or.xml");
xslDoc.load("livre d'or/livre d'or.xsl");
guestbookPanel.innerHTML = xmlDoc.documentElement.transformNode(xslDoc);
>
attraper(e)
{
alert("Impossible d'effectuer le traitement xml/xsl");
>
>
d'autre
{
alert("Navigateur inconnu!");
>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn