2012-05-23 31 views
0

我正在使用jQuery Mobile创建PhoneGap应用程序。 我有一个位于互联网服务器上的xml文件(可通过网络服务器访问(例如http://www.example.com/myXmlFile.xml))。我想以某种方式读取这个xml文件,并将该文件的内容作为一个字符串保存在一个变量中。 你会如何做到这一点?使用JavaScript下载xml文件并将其保存在变量中

var contentOfXmlFile = ""; 

read Xml file --> Save it in the contentOfXmlFile variable. 

alert(contentOfXmlFile); 

之后,xml文件中的文本将显示在警报窗口中。

+0

由于您正在关闭PhoneGap,因此任何AJAX请求都会违反跨域策略。你看过JSONP请求吗? –

+0

当您从移动设备上的file://协议运行时,不会应用跨域策略。 –

回答

3

只需使用AJAX:

var myXML = "" 
var request = new XMLHttpRequest(); 
request.open("GET", "http://www.example.com/myXmlFile.xml", true); 
request.onreadystatechange = function(){ 
    if (request.readyState == 4) { 
     if (request.status == 200 || request.status == 0) { 
      myXML = request.responseXML; 
     } 
    } 
} 
request.send(); 

变量myXML将是一个XML文档,你可以操纵。

2

你可以做到这一点与一个ajax查询类似follwing ...

jQuery.ajax({ 
    type :"GET", 
    url : dataUrl, 
    success : function(dataXML){ 
     //dataXML will have the complete xml.. 
    }, 
    error : function(){ 
     //error handler.. 
    } 
}); 

哪里dataUrl是您的网址为XML。

+0

这可能会违反跨域策略,因为PhoneGap在'localhost'上运行。但我可能是错的。 –

+0

对于跨域,希望我们需要使用'JSONP',但我还没有尝试过。 –

+0

当您从移动设备上的file://协议运行时,不会应用跨域策略。 –

相关问题