2014-04-02 136 views
0

以前,我使用assets文件夾中的XML文件。該應用可以很好地閱讀。下一步我想把這個XML放在Web服務器上。但在這個階段,應用程序無法識別任何數據。它讓我困惑了幾天。嘗試從URL獲取XML

AssetManager asset = getAssets(); 
InputStream input = asset.open("student.xml"); 
List<Student> list = ParserByPULL.getStudents(input); 

一切工作正常,如果資產文件夾中的文件。 然後我試圖從URL中獲取它。

String path = "http://fthgyj.tup632.cnaaa11.com/student.xml"; 
URL url = new URL(path); 
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
conn.setConnectTimeout(5000); 
conn.setRequestMethod("GET"); 
InputStream input = url.openConnection().getInputStream(); 
List<Student> list = ParserByPULL.getStudents(input); 

我已經添加了在清單文件中連接INTERNET的權限。 有沒有人有這個想法?

+0

那又怎麼了?你得到異常或什麼,只是空的迴應? – vilpe89

+0

NetworkOnMainThreadException也許? – laalto

+0

告訴我們您問題的確切症狀。讓我們猜測是不好的,除此之外,你不會得到你的答案 – kiruwka

回答

0

我認爲你需要調用

conn.connect(); 
InputStream input = conn.getInputStream(); 

,然後檢查你得到了XML牽強:

BufferedReader reader = new BufferedReader(new InputStreamReader(input)); 
StringBuilder builder = new StringBuilder(); 
String line; 

while ((line = reader.readLine()) != null) { 
    builder.append(line); 
} 
reader.close(); 
Log.d("tag", "output: " + builder.toString()); 
+0

我試過了,但還是不行。無論如何,非常感謝。 – user3421634

+0

你確定你沒有從輸入流中獲取任何東西嗎?檢查我更新的答案 – vilpe89