Tengo un documento XML que se analizó en un objeto DOM como este:
const contentDoc = new DOMParser().parseFromString(data, "text/xml");¿Cómo puedo agregar/anteponer la siguiente directiva de hoja de estilo xml?
<?xml-stylesheet type="text/xsl" href="style.xsl"?>Quiero visualizar el archivo XML provisto usando la hoja de estilo XSLT (que también se me proporciona) y no quiero jugar con cadenas (podría simplemente agregar esta declaración con operaciones de cadena simples antes de que el XML se convierta en DOM) pero me gustaría haz esto correctamente.
Deberá utilizar el método XSLTProcessor() para importar la hoja de estilos. Después de importar el XSL, transforme el xml en fragmento con "transformToFragment()" o "transformToFragment()" para transformar el documento con su XSL.
Después de todo, solo agrega el fragmento/documento transformado a su elemento deseado.
Consulte este ejemplo en MDN . También esto puede ayudarlo a comprender el uso de la transformación.
Repliqué el ejemplo que tienen y está funcionando correctamente según sus necesidades, esto puede resolver su solicitud.
Esto es lo que ellos hacen:
function Init(){ // load the xslt file, example1.xsl var myXMLHTTPRequest = new XMLHttpRequest(); myXMLHTTPRequest.open("GET", "example1.xsl", false); myXMLHTTPRequest.send(null); xslStylesheet = myXMLHTTPRequest.responseXML; xsltProcessor.importStylesheet(xslStylesheet); // load the XML file, example1.xml myXMLHTTPRequest = new XMLHttpRequest(); myXMLHTTPRequest.open("GET", "example1.xml", false); myXMLHTTPRequest.send(null); xmlDoc = myXMLHTTPRequest.responseXML; var fragment = xsltProcessor.transformToFragment(xmlDoc, document); document.getElementById("example").textContent = ""; myDOM = fragment; document.getElementById("example").appendChild(fragment); } Init();