2013-06-11 6 views
0

Моя миссия - разобрать некоторые XML с сайта с Android. Все работает отлично, если я вставляю XML в String и затем конвертирую его в InputStream и разбираю его. Но если я попытаюсь загрузить XML, используя HttpURLConnection, он загружает только «половину» и пропускает корневой элемент и некоторые атрибуты в начале и в конце.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-страницу из сети, когда она действительно доступна?

ответ

0

Проблема была исправлена, если я добавил следующую строку:

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

Хорошо знать.

Смежные вопросы