2011-02-14 223 views
2
  • 我試圖解析XML數據從Web服務使用SAX解析器來了,當我嘗試分析數據大文件:使用URL(大小7.4MB),它工作正常,但是當我從URL中複製xml數據並將xml文件(大小:7.4MB)放在原始文件夾中,解析失敗。的Android - 解析使用SAX解析器

  • 當放在原始文件夾中的文件大小減少到1.95MB時,它工作正常。我試圖洗牌標籤來檢查數據是否有任何問題,我沒有找到任何。只要大小不超過1.95MB,它工作正常。在android中解析來自原始文件夾的數據時是否有任何大小限制?如果是的是什麼限制?或者如何使用SAX解析器解析大文件?

任何指針將真正幫助我。預先感謝您的時間和提供的任何幫助。

問候, 拉梅什

02-14 17:35:35.651: DEBUG/asset(11035): Data exceeds UNCOMPRESS_DATA_MAX (2138421 vs 2097152) 
02-14 17:35:35.651: WARN/dalvikvm(11035): threadid=9: thread exiting with uncaught exception (group=0x4001d7d0) 
02-14 17:35:35.659: ERROR/AndroidRuntime(11035): FATAL EXCEPTION: Thread-13 
02-14 17:35:35.659: ERROR/AndroidRuntime(11035): java.lang.AssertionError: java.io.IOException 
02-14 17:35:35.659: ERROR/AndroidRuntime(11035): at android.util.Xml.parse(Xml.java:89) 

代碼

try { 
    System.out.println("1"); 
    //Xml.parse((url.openConnection().getInputStream()), Encoding.UTF_8, datahandler); 
    Xml.parse(getResources().openRawResource(R.raw.sample), Encoding.UTF_8, datahandler); 
    System.out.println("2"); 
    //xr.parse(new InputSource(getAssets().open("sample.xml"))); 
}catch(Exception e){ 
    System.out.println("Ramesh"+"XML Parsing exception:"+e); 
} 

錯誤

Android DEBUG/asset(11035): Data exceeds UNCOMPRESS_DATA_MAX (2138421 vs 2097152) 
WARN/dalvikvm(11035): threadid=9: thread exiting with uncaught exception (group=0x4001d7d0) 
ERROR/AndroidRuntime(11035): FATAL EXCEPTION: Thread-13 
ERROR/AndroidRuntime(11035): java.lang.AssertionError: java.io.IOException 
ERROR/AndroidRuntime(11035): at android.util.Xml.parse(Xml.java:89) 
ERROR/AndroidRuntime(11035): at com.infosys.gss.ui.Login$2$1.run(Login.java:431) 
ERROR/AndroidRuntime(11035): Caused by: java.io.IOException 
+0

「解析失敗」是什麼意思? – 2011-02-14 11:59:31

回答

0

感謝您的意見。我發現了一個解決方法,感謝Brian在這裏發佈瞭解決方案'http://ponystyle.com/blog/2010/03/26/dealing-with-asset-compression-in-android-apps/'。這個鏈接幫了我很多。