2013-06-11 103 views
0

我的任務是解析來自Android網站的一些XML。如果我將XML粘貼到一個字符串然後將其轉換爲InputStream並解析它,一切正常。但是,如果我嘗試使用HttpURLConnection下載XML,它只會下載「half」並跳過根元素以及開始和結尾的某些屬性。Android獲取URL到InputStream

我想分析看起來像這樣的事情:

<Page xmlns:i... xmlns="..."> 
<Body>...</Body> 
<Contact i:nil=".."/> 
<ID>...</ID> 
<Date>...</Date> 
<Summary>..</Summary> 
<Title>...</Title> 
</Page> 

當我下載我得到的東西,並打印出:

<ID>...</ID> 
<Date>...</Date> 
<Summary>..</Summary> 
<Title>...</Title 

,因此解析失敗,因爲它沒有得到什麼它的預期。我的下載代碼:

URL url = new URL(urlString); 
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
conn.setReadTimeout(15000 /* milliseconds */); 
conn.setConnectTimeout(25000 /* milliseconds */); 
conn.setRequestMethod("GET"); 
conn.setDoInput(true); 
conn.setUseCaches(true); 
conn.connect(); 
InputStream stream = conn.getInputStream(); 
return stream;  

爲什麼它不能從網絡上下載整個XML頁面?

conn.setRequestProperty("Content-Type", " application/xml; charset=utf-8"); 

好消息:如果我添加以下行

回答