我在SDCard上有一个XML文件,它是从服务器下载的。我试图打开并阅读该XML,以便在我的应用程序中使用它。我打开并阅读它很好,但JQuery正在解冻它。
一旦我得到了文件,我就是这样:
var reader = new FileReader();
reader.onloadend = function (evt) {
parseXML(evt.target.result);
};
reader.readAsText(file);
然后我开始解析:
function parseXML(xml){
$(xml).find('recipe').each(function(){
它停在那里。如果我使用JQuery的ajax方法加载应用内XML,它可以正常工作。那么,使用PhoneGap中的FileReader加载XML数据有什么特别之处吗?
更新: 好的,有很多时间和来自另一个开发者的帮助,这个问题似乎是PhoneGap中的一个错误。特别是FileTRansfer对象。
我这样做:
var ft = new FileTransfer();
var dlPath = dataDir.fullPath + "/recipes.xml";
ft.download("http://design.mydomain.com/dave/humana/recipes/recipes.xml", dlPath, addedNewRecipes, addError);
我会在addedNewRecipes中找到下载成功的跟踪。它确实......但不是全部。该文件被截断,这是导致parseXML失败的原因。整个XML文件大约是90KB(~1600行),它被截断了50行。
将FileTransfer替换为FileWriter对象,现在可以正常工作。
PhoneGap / Cordova真的还是测试版,不是吗。