Подгружаю xml файл catalogue1.xml

Код:
<?xml version="1.0" encoding="UTF-8"?>
<catalogue>
<category>
<item>
<article>001</article>
</item>
<item>
<article>002</article>
</item>
</category>
<category>
<item>
<article>003</article>
</item>
<item>
<article>004</article>
</item>
</category>
</catalogue>
и передаю его в многомерный массив

Код AS1/AS2:
var catalogue = new Array();
cat_xml = new XML();
cat_xml.ignoreWhite = true;
cat_xml.load('catalogue1.xml');
cat_xml.onLoad = function(success) {
if (success) {
parseFile(cat_xml);
showArray();
}
};
var a:Number = 0;
var b:Number = 0;
var c:Number = 0;
function parseFile(xmlDoc_xml) {
for (var aNode:XMLNode = xmlDoc_xml.firstChild.firstChild; aNode != null; aNode=aNode.nextSibling) {
catalogue[a] = new Array(aNode.childNodes.length);
for (var bNode:XMLNode = aNode.firstChild; bNode != null; bNode=bNode.nextSibling) {
catalogue[a][b] = new Array(bNode.childNodes.length);
for (var cNode:XMLNode = bNode.firstChild; cNode != null; cNode=cNode.nextSibling) {
catalogue[a][b][cNode.nodeName] = cNode.firstChild.nodeValue;
n = new AccessPoint(catalogue[a][b][cNode.nodeName]);
}
b++;
}
a++;
}
}
function showArray() {
trace(catalogue[1][0]["article"]);
}
в output получаю undefined, но если
trace(catalogue[0][0]["article"]) или
trace(catalogue[0][1]["article"]), то все ок, выдает 001 и 002 соответственно. Такое впечатление, что при создании массива не учитывается вторая категория <category> </category>.
Подскажите, пожалуйста, в чем может быть проблема?