Recientemente, utilicé Firefox para depurar páginas web y descubrí que algunas declaraciones XSLT JavaScript que procesan XML solo admiten el navegador IE. Algunos artículos en Internet que introducen JavaScript XSLT para procesar XML básicamente se basan en AJAX.
Implente, escribí una pequeña función de las páginas de visualización XSLT de procesamiento XSLT JavaScript. Ahora estoy publicando para compartir contigo, espero que puedas darme algunas sugerencias de mejora.
En Firefox, utilizando el objeto XSLTProcessor para procesar XML, utilizando principalmente dos métodos de este objeto:
1. TransformToFragment ().
2. Transformtodocument ().
El siguiente código solo usa el método TransformToFragment () para implementar el procesamiento de archivos XML. Si está interesado en usar JavaScript XSLT para procesar archivos XML en Firefox, también podría intentar reescribir el siguiente código en una función de procesamiento implementada utilizando el método TransformTodocument ().
El código JavaScript es el siguiente:
La copia del código es la siguiente:
función inicialize () {
var xmldoc;
var xsdoc;
// Determinar el tipo de navegador
if (document.implementation && document.implementation.createDocument)
{
// Apoyo al navegador Mozilla
intentar
{
xmldoc = document.implementation.createDocument ("" "," ", nulo);
xmldoc.async = false;
xmldoc.load ("Libro de visitas/libro de visitas.xml");
}
captura (e)
{
alerta ("Error: 001");
}
intentar
{
xsdoc = document.implementation.createDocument ("" "," ", nulo);
xsdoc.async = false;
xsdoc.load ("Libro de visitas/libro de visitas.xsl");
}
captura (e)
{
alerta ("Error: 002");
}
intentar
{
// Defina el objeto XSLTProcessor
var xsltprocessor = new XSLTProcessor ();
xsltprocessor.importStylesheet (xSDOC);
var oresultfragment = xsltprocessor.transformToFragment (xmlDoc, document);
// emite el texto analizado a la página
var odiv = document.getElementById ("ReviseBookPanel");
odiv.appendchild (oresultfragment);
}
captura (e)
{
alerta ("Error: 003");
}
}
else if (typeof window.activexObject! = 'Undefined')
{
// var xmldoc = server.createObject ("msxml2.domDocument.4.0");
// Soporte del navegador IE
xmldoc = new ActiveXObject ('Microsoft.xmldom');
xsdoc = new ActiveXObject ('Microsoft.xmldom');
xmldoc.async = false;
xsdoc.async = false;
xmldoc.load ("Libro de visitas/libro de visitas.xml");
xsdoc.load ("Libro de visitas/libro de visitas.xsl");
VistitbookPanel.innerhtml = xmldoc.documentelement.transformNode (xsDoc);
}
demás
{
alerta ("¡Navegador desconocido!");
}
}
JavaScript DOM La segunda forma de procesar los datos de visualización XSL.
El código principal es el siguiente:
La copia del código es la siguiente:
var xmldoc;
var xsdoc;
// Determinar el tipo de navegador
if (document.implementation && document.implementation.createDocument)
{
// Apoyo al navegador Mozilla
intentar
{
xmldoc = document.implementation.createDocument ("" "," ", nulo);
xmldoc.async = false;
xmldoc.load ("Libro de visitas/libro de visitas.xml");
xsdoc = document.implementation.createDocument ("" "," ", nulo);
xsdoc.async = false;
xsdoc.load ("Libro de visitas/libro de visitas.xsl");
// Defina el objeto XSLTProcessor
var xsltprocessor = new XSLTProcessor ();
xsltprocessor.importStylesheet (xSDOC);
// Método TransformTodocument
resultado var = xsltprocessor.transformTodocument (xmlDoc);
var xmls = new XMLSerializer ();
document.getElementById ("Libro de visitas"). Innerhtml = xmls.Serializetostring (resultado);
}
captura (e)
{
alerta ("No se puede hacer el procesamiento XML/XSL");
}
}
else if (typeof window.activexObject! = 'Undefined')
{
intentar
{
// Soporte del navegador IE
xmldoc = new ActiveXObject ('msxml2.domDocument');
xsdoc = new ActiveXObject ('msxml2.domDocument');
xmldoc.async = false;
xsdoc.async = false;
xmldoc.load ("Libro de visitas/libro de visitas.xml");
xsdoc.load ("Libro de visitas/libro de visitas.xsl");
VistitbookPanel.innerhtml = xmldoc.documentelement.transformNode (xsDoc);
}
captura (e)
{
alerta ("No se puede hacer el procesamiento XML/XSL");
}
}
demás
{
alerta ("¡Navegador desconocido!");
}