#jquery #xml #json
#jquery #xml #json
Вопрос:
Я создаю мобильное приложение jquery в phonegap 0.9.6. намереваюсь создать массив типа объекта json после загрузки XML-данных вот так '[{"a": "val01", "b": "val02"}, {"a": "val03", "b": "val04"}, ...]'. a, b - это имя столбца. но это занимает так много времени (14 секунд) в случае загрузки XML-данных большого размера. - первый XML - размер: 1,45 МБ, время: 13,54 с (4013 строк, 11 столбцов) - второй XML - размер: 827,15 КБ, время: 59 мс (3128 строк, 6 столбцов) первый XML чуть меньше двойного размера второго xml. но время загрузки не удваивается. Я не знаю, почему загрузка первого xml занимает так много времени. Итак, мне нужна ваша помощь и совет. Спасибо.
Пример кода — создание одного массива с одним XML-файлом.
function CreateObj() {
var arr = [];
var colCnt = $(inputXML).find('RECORD').first().children().length; //column length
//loop rows count
$(inputXML).find('RECORD').each(function() {
var row = {};
for (var i = 0; i < colCnt; i ) {
row[columnName] = Trim(columnValue);
}
arr.push(row);
});
return arr; }
function LoadXMLData(file) {
$.ajax({
type: "GET",
url: "data/" file ".xml",
dataType: "xml",
async: true,
error: function(xhr, status, err) {
var errMsg = (err) ? xhr "n" status ":" err : "";
navigator.notification.alert(errMsg "nData not loaded. Retry This App", onAlert);
},
success: function(data, status, xhr) {
xmlDocs[file] = CreateObj();
}
}); }