No se detectó TypeError: no se puede llamar al método 'hasChildNodes' de undefined

Estoy tratando de leer un XML utilizando la solicitud ajax en jquery. A continuación se muestra el código, funciona bien en IE, pero cuando ejecuto esto en Chrome, me encuentro con este error.

No se detectó TypeError: no se puede llamar al método 'hasChildNodes' de undefined

$.ajax({

    type: "GET",
    url: "tree1.xml",
    dataType:"xml",
    success: function(xml){
        root=xml.documentElement;
        childs=root.childNodes;
        for(var i=0;i<childs.length;i++){
            z=childs[i].childNodes;
            adChilds(z,childs,oNode);


            function adChilds(a,b,c){
                if(a[i].hasChildNodes()){
                    adNode(b[i].nodeName,c);
                    var oNode_ch=oNode1;
                    for(var j=0;j<a.length;j++){
                        child1=a[j].childNodes;
                        adNode(child1[0].nodeValue,oNode_ch);
                    }
                }
                else{adNode(a[0].nodeValue,oNode);}
            }
        }

El error está apuntando a esta línea.

if (a [i] .hasChildNodes ()) {

¿Alguien puede sugerirme dónde voy mal?

¡Gracias por adelantado!

Respuestas a la pregunta(1)

Su respuesta a la pregunta