Tengo un directorio que contiene
--index.html --script.js --file.xmly quiero leer el contenido del archivo.xml como una cadena para reemplazar algunas palabras dentro del archivo xml. (Más adelante me gustaría enviar el archivo xml editado por correo electrónico).
Logré acceder al archivo xml, pero no pude guardar todo el contenido en una cadena y/o reemplazar algunas palabras clave conocidas dentro del xml.
Aquí es donde llegué hasta ahora:
var oXHR = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); function reportStatus2() { if (oXHR.readyState == 4) // REQUEST COMPLETED. console.log(this.responseXML) // This gets me the XML-document, but I want the complete xml content as string } oXHR.onreadystatechange = reportStatus2; oXHR.open("GET", "../file.xml", true); oXHR.send();¡Encontré tantas publicaciones sobre ese tema aquí, pero ninguna pudo responder mi pregunta! ¿Algunas ideas?
Mire ladocumentación de XMLHttpRequest .
Aquí está la documentación de la propiedad que está leyendo:
XMLHttpRequest.responseXML Solo lectura
Devuelve un Documento que contiene la respuesta a la solicitud, o nulo si la solicitud no se realizó correctamente, aún no se ha enviado o no se puede analizar como XML o HTML. No disponible en trabajadores.
Ahora mira a tu alrededor. Solo tres entradas antes dice:
XMLHttpRequest.responseText Solo lectura
Devuelve un DOMString que contiene la respuesta a la solicitud como texto, o nulo si la solicitud no se realizó correctamente o aún no se envió.
Así que usa eso en su lugar.
Dicho esto, XML es un formato de datos estructurados con algunas reglas bastante complejas y debe usar DOM para editarlo y no manipular cadenas (que es propenso a errores y es mucho más probable que resulte en XML no válido en su salida).