jquery:合并XML文档

时间:2011-07-06 09:42:13

标签: javascript xml ajax jquery

是否可以使用jquery(或纯javascript)将多个xmlDocuments合并为一个单独的文件(var newResult)

不幸的是我要将不同的托管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 个答案:

答案 0 :(得分:1)

正如我所看到的,您正试图将它们连接起来。如果这是您所需要的,那么您的代码并不是那么糟糕,

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,以便您的文件按顺序到达。但请注意,这将挂起浏览器,直到处理完成。如果它不发生是至关重要的,那就告诉我。

希望这会有所帮助。干杯