Javascript,无法解析XML子节点

Javascript,无法解析XML子节点,javascript,xml,Javascript,Xml,在解析Javascript代码中的xml响应时,我遇到了一些问题(使用ExtJS4,但我认为这并不重要) xml响应如下所示: <response> <id>9</id> <time>2012-05-24 14:22:44</time> <name>user</name> <message>message</message> <p2pchat> &l

在解析Javascript代码中的xml响应时,我遇到了一些问题(使用ExtJS4,但我认为这并不重要)

xml响应如下所示:

<response>
  <id>9</id>
  <time>2012-05-24 14:22:44</time>
  <name>user</name>
  <message>message</message>
  <p2pchat>
    <requestor>user1</requestor>
    <requested>user2</requested>
    <time>2012-05-26 12:13:28</time>
    <message>msg</message>
  </p2pchat>
</response>
执行此代码后,最后四个数组的长度始终为0,没有从xml响应中提取任何内容。
我在谷歌上搜索了一种解析xml树内部元素的方法,但在10个不同的页面中,我发现了几乎10个不同的Sintax,似乎都不适合我。有什么想法吗?

谷歌上几个小时的数据挖掘为我提供了解决方案,我将其发布在此处,以便如果有人遇到相同的问题并发现此帖子具有我使用的解决方案:

var xmlp2pchat = response.getElementsByTagName("p2pchat");

var requestorsArray = Array();
var requestedsArray = Array();
var timep2pArray = Array();
var messagep2pArray = Array();

for(var i=0;i<xmlp2pchat.length;i++) {
  var x = xmlp2pchat[i].getElementsByTagName("requestor");
  var y = xmlp2pchat[i].getElementsByTagName("requested");
  var z = xmlp2pchat[i].getElementsByTagName("time");
  var t = xmlp2pchat[i].getElementsByTagName("message");

  for(var j=0;j<x.length;j++) {
    requestorsArray.push(x[j]);
    requestedsArray.push(y[j]);
    timep2pArray.push(z[j]);
    messagep2pArray.push(t[j]);
  }

}
var xmlp2pchat = response.getElementsByTagName("p2pchat");

var requestorsArray = Array();
var requestedsArray = Array();
var timep2pArray = Array();
var messagep2pArray = Array();

for(var i=0;i<xmlp2pchat.length;i++) {
  var x = xmlp2pchat[i].getElementsByTagName("requestor");
  var y = xmlp2pchat[i].getElementsByTagName("requested");
  var z = xmlp2pchat[i].getElementsByTagName("time");
  var t = xmlp2pchat[i].getElementsByTagName("message");

  for(var j=0;j<x.length;j++) {
    requestorsArray.push(x[j]);
    requestedsArray.push(y[j]);
    timep2pArray.push(z[j]);
    messagep2pArray.push(t[j]);
  }

}
 var whatever = requestorsArray[i].firstChild.data