Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用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 - Fatal编程技术网

用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。我不知道你的代码是什么样子的。