Tengo el siguiente archivo de texto con etiquetas JavaScript:
<script> ... </script> <script> ... </script> <script> ... </script>cuando lo analizo así:
const parser = new DOMParser(); const xmlDoc = parser.parseFromString(`<root>${data}</root>`, "text/xml"); const tags = xmlDoc.getElementsByTagName("script");Recibo un error porque hay símbolos < y > en el código del programa JS, como
for (let i = 0; i < tags.length; i++) {No quiero reemplazar < > con < > porque esos también están presentes dentro de cadenas en el código.
¿Es posible deshabilitar el código de análisis dentro de las etiquetas de script?
Para analizar HTML, usamos el tipo mime text/html
const htmlDoc = parser.parseFromString(data, "text/html"); const tags = htmlDoc.getElementsByTagName("script");Intente encapsular el código JS en una sección CDATA para que se vea así:
<script> <![CDATA[ for (let i = 0; i < tags.length; i++) {.... ]]> </script>Estos comentarios le dicen al analizador xml que trate lo que hay dentro de ellos solo como datos de caracteres