Estoy tratando de analizar un texto en un texto/xml y obtener el valor que está dentro de un nodo secundario, pero me está dando este error (No se pueden leer las propiedades de undefined (leyendo 'childNodes'). Quiero que el valor sea verdadero dentro del GetValidUserPasswordResult.Este es el código que estoy haciendo:
var text = '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetValidUserPasswordResponse xmlns="http://microsoft.com/webservices/"><GetValidUserPasswordResult>true</GetValidUserPasswordResult></GetValidUserPasswordResponse></soap:Body></soap:Envelope>'; console.log(text); parser = new DomParser(); xmlDoc = parser.parseFromString(text, "text/xml"); xmlDoc1 = xmlDoc.getElementsByName("GetValidUserPasswordResult")[0].childNodes[0].text; console.log(xmlDoc1)Ya encontré la respuesta, lo estaba haciendo en node.js pero la implementación de DOMParser en el nodo es xmldom, así que el resultado fue este
var DOMParser = require('xmldom').DOMParser; var parser = new DOMParser(); var document = parser.parseFromString('<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetValidUserPasswordResponse xmlns="http://microsoft.com/webservices/"><GetValidUserPasswordResult>true</GetValidUserPasswordResult></GetValidUserPasswordResponse></soap:Body></soap:Envelope>', 'text/xml'); var xmlDoc1 = document.getElementsByTagName("GetValidUserPasswordResult")[0].childNodes[0].nodeValue; console.log(xmlDoc1)