Appcelerator Q& A Link: XML Parsing failure on Android but works on iPhone
我正在准备一个适用于iPhone和Android手机的通用应用程序,其代码相同,主要用于Titanium。使用相同的代码,我发现XML文档解析的结果不同,我的Android应用程序没有正确加载它。它会导致NULLPointer异常。但是相同的代码在iPhone上完美运行。
你能检查一下吗?
xyz(languageCode, currentVersion, xmldoc) {
try {
Ti.API.info('Start parsing the library');
var archiveData = xmldoc.getElementsByTagName('archive');
Ti.API.info('Archive: ' + archiveData);
Ti.API.info('Item: ' + archiveData.item);
Ti.API.info('Lendth: ' + archiveData.length);
var newVersion = archiveData.item(0).getAttribute('version');
}catch(e){
Ti.API.info('Library Went In Catch: ' + e);
}
函数调用:来自Ti.Network.HttpClient的onload()方法
xyz(languageCode,version,this.responseXML.documentElement);
存档:[对象TiDOMNodeList]
[INFO]项目:[对象TiDOMNodeList]
[INFO] Lendth:1
[INFO] [3,7225]档案:[Ti.NodeList]
[INFO] [1,7226]项目:[KrollMethod项目]
[INFO] [2,7228] Lendth:0 [INFO]
[235,7466] Library Went In Catch:JavaException:java.lang.NullPointerException:null
答案 0 :(得分:0)
检查链接:
使用以下方法解析XML:
var xml = Ti.XML.parseString(this.responseXML.toString());
xyz(languageCode, version, xml);
“this.responseXML.documentElement”。它在Android上有一些问题(不知道是否报告)。解决方法是使用“Ti.XML.parseString”方法重新解析XML:。