如何从URL下载XML文件并将XML文件转换为字符串?特别是,我想下载RSS源并将其转换为字符串。
我试过这个,但它没有用:
protected List<Rss> doInBackground(Void... params) {
String xmlContent;
Document doc = null;
try {
doc = Jsoup.connect(feedUrl).get();
} catch (IOException e) {
e.printStackTrace();
}
xmlContent = doc.toString();
return RssParser.parseFeed(xmlContent);
}
&#13;
答案 0 :(得分:2)
您可以使用HttpURLConnection,示例代码:
String xmlString;
HttpURLConnection urlConnection = null;
URL url = new URL("http://example.com");
String userName = "test";
String password = "password";
try {
urlConnection = (HttpURLConnection)url.openConnection();
// set authentication
String userCredentials = userName+":"+password;
String basicAuth = "Basic " + new String(Base64.encode(userCredentials.getBytes(), Base64.DEFAULT));
urlConnection.setRequestProperty("Authorization", basicAuth.trim());
// set request method
urlConnection.setRequestMethod("GET");
if (urlConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
StringBuilder xmlResponse = new StringBuilder();
BufferedReader input = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()), 8192);
String strLine = null;
while ((strLine = input.readLine()) != null) {
xmlResponse.append(strLine);
}
xmlString = xmlResponse.toString();
input.close();
}
}
catch (Exception e) {// do something
}
finally {// close connection
if (urlConnection != null) {
urlConnection.disconnect();
}
}
答案 1 :(得分:1)
使用URLConnection或HttpUrlConnection子类下载文件。
http://developer.android.com/reference/java/net/URLConnection.html
使用StringBuilder类获取文件内容然后使用toString() 完成后。
http://developer.android.com/reference/java/lang/StringBuilder.html
Oracle连接示例:
https://docs.oracle.com/javase/tutorial/networki/urls/readingWriting.html
答案 2 :(得分:1)
关注Android开发者网站上的this。
基本上你只需要使用以下类:
网址 - 创建新的URl。
HttpURLConnection - 打开与网址的连接
InputStream - 获取回复。
确保使用AsyncTask或secondery Thread接近网络,不要在主线程上执行
响应将自动返回字符串,如果您打开与 XML 文件, JSON 文件的连接,甚至是 IMAGE (不是真正可读,但仍然是字符串)文件。
如果您仍然需要,我会尝试编辑并撰写完整的答案。