JQuery: объединить документы XML - PullRequest
2 голосов
/ 06 июля 2011

возможно ли объединить несколько xmlDocuments в один файл (var newResult) с помощью jquery (или чистого javascript)?

к сожалению, мне приходится объединять различные размещенные xml-документы в один файл (не спрашивайте меня, почему ...). я играл с различными методами, но я не могу найти решение для этого (возможно, jquery не готов для обработки XML ??). спасибо:)

см. Мой код:

var files = ['john.xml','doe.xml']
var newResult, temp;

function loadMyXMLFiles(){

    // > let's load file by file using jquery's ajax-call:

    $.each(files, function(index,value) { 

      $.ajax({

          url: value,
          cache: true,
          success: function(data){

            // > check if temp is empty, append or fill

            (temp) ? temp += (data) : temp = data;


            // > on complete:

            if (index == files.length-1) {

                xmlResult = temp; temp = null;
            }
          }

      });
  });
}

loadMyXMLFiles()

enter image description here

1 Ответ

1 голос
/ 06 июля 2011

Как я вижу, вы пытаетесь объединить их.Если это то, что вам нужно, ваш код не так уж плох,

var files = ['john.xml','doe.xml']
var xmlResult, temp = ""; //Make temp an empty string

loadMyXMLFiles(){
    $.each(files, function(index,value) { 
      $.ajax({
          url: value,
          cache: true,
          async: false, //This is crucial!
          success: function(data){
            temp += data;
            if (index == files.length-1) {
                xmlResult = temp; temp = null;
            }
          }
      });
  });
}

Вы должны использовать async: false, чтобы ваши файлы приходили в порядке.Но будьте осторожны, это приведет к зависанию браузера до завершения обработки.Если жизненно важно, чтобы этого не произошло, просто скажите мне.

Надеюсь, это поможет.Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...