用javascript解析xml数据 我是否需要将servlet的响应(即xml)转换为xmlDoc 解析和检索某些值 如果是,那么下面的代码是否正确控制台日志(id)打印函数,因此抛出类型错误。如果没有,那怎么办 函数xmlParser(xmlResponse){ if(window.DOMParser){ parser=新的DOMParser(); log(xmlResponse); xmlDoc=parser.parseFromString(xmlResponse,“text/xml”); console.log(xmlDoc); } id=xmlDoc.getElementsByTagName(“id”)[0]。子节点[0]。节点值; console.log(id); key=xmlDoc.getElementsByTagName(“密钥”)[0]。子节点[0]。节点值; 控制台日志(键); 返回格式(id、key); }
不,您不需要转换响应,因为您可以通过属性直接获得用javascript解析xml数据 我是否需要将servlet的响应(即xml)转换为xmlDoc 解析和检索某些值 如果是,那么下面的代码是否正确控制台日志(id)打印函数,因此抛出类型错误。如果没有,那怎么办 函数xmlParser(xmlResponse){ if(window.DOMParser){ parser=新的DOMParser(); log(xmlResponse); xmlDoc=parser.parseFromString(xmlResponse,“text/xml”); console.log(xmlDoc); } id=xmlDoc.getElementsByTagName(“id”)[0]。子节点[0]。节点值; console.log(id); key=xmlDoc.getElementsByTagName(“密钥”)[0]。子节点[0]。节点值; 控制台日志(键); 返回格式(id、key); },javascript,xml,Javascript,Xml,不,您不需要转换响应,因为您可以通过属性直接获得xmlDoc 例如: xmlDoc = xmlResponse.responseXML; // you'll probably need to change it because I don't know what is value of xmlResponse in your case id = xmlDoc.getElementsByTagName("id")[0].childNodes[0].nodeValue; //and so on...
xmlDoc
例如:
xmlDoc = xmlResponse.responseXML; // you'll probably need to change it because I don't know what is value of xmlResponse in your case
id = xmlDoc.getElementsByTagName("id")[0].childNodes[0].nodeValue;
//and so on...
服务器响应的内容类型必须为“text/xml”,否则responseXML属性将为null。我已删除转换代码。我正在从servlet发送xml。但是仍然获取未捕获的类型错误:无法读取未定义的属性“childNodes”btw我什么时候需要转换它?当服务器响应类型为“text/html”时?什么是“应用程序/xml”?您可能需要在servlet中使用
setContentType
,将输出mime类型设置为text/xml。我不知道你的代码是什么样子的。