получить значение из xml
есть xls файл с таблицей сохраненный в xml, нужно занести значения ячеек каждого столбца в отдельный масиив, чтобы получилось что то вроде mass1{значение ячейки А1, А2, А3....}, mass2{B1,B2,B3...}, mass3{C1,C2,C3...} и т.д. Тип ячеек одного столбца одинаковые, но у каждого столбца - разные, где столбец с ячейками String, другой - Number. Плюс ко всему нужно обязательно работать с xml, поскольку программа, куда нужно импортировать значения из столбцов весьма специфична и работает лишь с xml(. У меня же пока получается только с помощью push запихнуть в массив значения с определенной длинной строки. В JS новичок и был бы несказанно благодарен за любую помощь в данном вопросе.
|
nevski17,
Выложите текущий код/нужную часть кода вместе со скриптом Для оформления используйте кнопку с тегом [HTML][/HTML] |
Спасибо, уже разобрался сам, сделал немного по-другому, забросил все данные в один массив. При этом количество столбцов и строк заранее известно.
Ниже приведен пример тестовой версии скрипта, кторый обрабатывает файл с 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; } |
Цитата:
|
скрыто
|
:write: Ужс - во напросился...
|
Цитата:
|
nevski17,
Думаю... Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 16:16. |