В моем приложении Android я хочу получить XML файл из Интернета и проанализировать некоторые теги в этом файле в моем приложении. Я получил рабочий учебник здесь, который использует XMLResourceParser но учебник показывает, как прочитать файл XML из локального каталога.
Каковы вызовы метода для извлечения внешнего XML файла в мое приложение Android?
XmlResourceParser xrp = this.getResources().getXml(R.xml.test);
Вы можете получить InputStream в XML файл, используя следующий код:
URL url = new URL(urlString);
URLConnection connection = url.openConnection();
HttpURLConnection httpConn = (HttpURLConnection)connection;
httpConn.setDoInput(true);
httpConn.setRequestProperty("charset", "utf-8");
int responseCode = httpConn.getResponseCode();
if(responseCode != HttpStatus.SC_OK) {
InputStream xmlStream = httpConn.getInputStream();
// Pass the xmlStream object to a XPP, SAX or DOM parser.
}
Если "внешний XML файл" означает загрузку XML файла из Интернета, ознакомьтесь с этой статьей на HelloAndroid, чтобы узнать, как загрузить URL-адрес на ваше устройство.
Что касается фактического синтаксического анализа XML, я нашел SJXP "Простой Java XML Parser" самым простым решением. Он легкий, простой в использовании и работает с использованием обработчиков обратного вызова. На веб-сайте также есть пример кода, который очень полезен. http://www.thebuzzmedia.com/software/simple-java-xml-parser-sjxp/
создайте новую папку "raw" в "res", поместите внешний xml в необработанную папку
InputStream inputStream = getResources().openRawResource(R.raw.yourXMLname);