Image

xml+javascript

Пытаюсь парсить xml-файл скриптом, вроде все нормально, ошибок нет, но вместо значений между тэгами почему то всегда возвращается null...

Пример xml

<?xml version="1.0" encoding="UTF-8"?>
<table>
    <heading>
        <column>
            <title>Заголовок</title>
        </column>
        <column>
            <title>Номер</title>
        </column>
    </heading>

    <trow>
        <tcell>a</tcell>
        <tcell>227</tcell>
    </trow>
    <trow>
        <tcell>b</tcell>
        <tcell>456</tcell>
    </trow>
    <trow>
        <tcell>c</tcell>
        <tcell>347</tcell>
    </trow>
    <trow>
        <tcell>d</tcell>
        <tcell>4356</tcell>
    </trow>
    <trow>
        <tcell>e</tcell>
        <tcell>456</tcell>
    </trow>
    <trow>
        <tcell>f</tcell>
        <tcell>365</tcell>
    </trow>
    <trow>
        <tcell>g</tcell>
        <tcell>456</tcell>
    </trow>
</table>

javascript:

function ReadRSS(rssFeed, BodyContent)
{
    rssContent = document.getElementById(BodyContent);

    try
    {
        if (document.all)
        {
            var errorHappendHere = "Check Browser and security settings";
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        }
        else
        {
            var errorHappendHere = "Apparently one cant read remote xml via firefox, please copy the file to your server";
            xmlDoc = document.implementation.createDocument("","",null);
        }
   
        xmlDoc.async=false;
        xmlDoc.load(rssFeed);
               
                elem = xmlDoc.documentElement;
        SetRSSTemplates();
    }
   
    catch(e)
    {
        rssContent.innerHTML = 'Error occured';
        rssContent.innerHTML += 'Thrown Error:'+e.message+"<br/>Note: "+errorHappendHere;
    }
}

function SetRSSTemplates()
{
   
    if (rssContent)
    {
        var output = "<table><thead><tr>";
        var heading = elem.childNodes[0];
        var len = heading.childNodes.length;
        for(var i=0; i<len; i++)
        {
            var node = heading.childNodes[i].childNodes[0].nodeValue;
            output += '<th>'+node+'</th>'; // Вот тут node всегда равна null
        }
        output += '</tr></thead>';
       
        len = len-1;
        var inlen = elem.childNodes[1].childNodes.length;
        output += '<tbody>';
    for(var i=1; i<len; i++)
    {
            output += '<tr>';
            for(var j=0; j<inlen; j++)
            {
                var currentNode = elem.childNodes[i];
                if(currentNode.length > 0) var node = currentNode.childNodes[j].nodeValue;
                output += '<td>'+node+'</td>'; // И тут тоже null
            }
            output += '</tr>';
    }
        output += '</tbody>';
        buffer = output;
    rssContent.innerHTML = buffer;
    }
}