Estoy leyendo un archivo xml personalizado con etiquetas personalizadas como <section></section> en un text variable. Luego aplico las siguientes pocas líneas de javascript simple :
parser = new DOMParser(); xmlDoc = parser.parseFromString(text, 'text/xml'); console.log(xmlDoc.documentElement); parseDOM(xmlDoc.documentElement);dónde
function parseDOM(node){ type = node.nodeName; console.log(type); for(child in node.children){ parseDOM(child); } } La parte console.log(xmlDoc.documentElement) imprime la jerarquía completa sin ningún problema, en particular con las etiquetas que tienen los nombres correctos. Desafortunadamente, la parte console.log(type) imprime "indefinido" para todas mis etiquetas personalizadas.
¿Cómo puedo probar si el nodo en cuestión es del tipo personalizado
<section></section>? Esperaba quenode.nodeName == 'section'funcionara, pero aparentemente no funciona... Y mientras estamos en eso, ¿cómo puedo probar si el nodo actual es un bloque de texto?
Muchas gracias por tu apoyo.
Mi objetivo es reemplazar las etiquetas (por ejemplo, convertir <section> en <h2> ), pero también podría hacer algunas modificaciones más importantes en algunas etiquetas en el futuro. Sé que es muy probable que haya alguna biblioteca perfectamente adecuada para el trabajo, pero estoy usando este proyecto para finalmente volver a escribir algo de código, por lo que preferiría que la solución permanezca dentro de JavaScript estándar. Una vez más, muchas gracias por su ayuda.