Спасибо, уже разобрался сам, сделал немного по-другому, забросил все данные в один массив. При этом количество столбцов и строк заранее известно.
Ниже приведен пример тестовой версии скрипта, кторый обрабатывает файл с 3мя столбцами и 4мя строками
var XMLFile = new XML();
XMLFile = XMLFile.setContent( "C:\\test1.xml", true );
var XMLSource;
var nodeValue;
var mass = new Array();
var k = 0;
function walkXML( elem )
{
nodeValue = elem.getNodeValue();
if ( typeof nodeValue == "string" && elem.getName() == "Data" )
{
mass.push(nodeValue);
}
var child = elem.getFirstChildElement();
while( child != null )
{
var nodeName = child.getName();
var nodeValue = child.getNodeValue();
walkXML( child );
child = child.getNextSiblingElement();
}
}
XMLSource = XMLFile;
walkXML( XMLSource );
function insertContact(num,name,stat,ass,comp,assTag,sbType,env,secClass,soxClass,expcClass)
{
var newCI = new SCFile( "joincomputer" );
newCI.id = num;
newCI.logical_name = name;
newCI.istatus = stat;
newCI.assignment = ass;
newCI.type = comp;
newCI.asset_tag = assTag;
newCI.subtype = sbType;
newCI.environment = env;
newCI.securityClassification = secClass;
newCI.soxClassification = soxClass;
newCI.expcClassification = expcClass;
var rc = newCI.doInsert();
if ( rc == RC_SUCCESS )
{
print( "Success. Created new record " + newCI.getText() );
return newCI;
}
else
{
print( "Could not create record. " + RCtoString(rc));
return null;
}
}
for(var i=0; i < 12; i++)
{
var numberValue = "CI99999"+k;
var lgName = "CompXP"+k;
var iStat = "Получено";
var tp = "computer";
var assign = "Service Desk";
var assetTag = mass[i];
var subTyp = mass[i+1];
var envir = "Test";
var secClassific = "1. Неограничено";
var soxClassific = "Critical"
var expcClassific = mass[i+2];
var suppGroup = "Service Desk"
insertContact(numberValue,lgName,iStat,assign,tp,assetTag,subTyp,envir,secClassific,soxClassific,expcClassific);
i = i + 2;
k = k + 1;
}