Помогите загрузить XML-файл в просмотр списка для разбора в Android - PullRequest
0 голосов
/ 19 июля 2011

Мне нужна более подробная справка о том, как взять XML-файл в папке res / xml и «загрузить его» в память.В конечном итоге я хочу создать вложенные списки, которые позволяют пользователю просматривать XML-файл.К сожалению, я довольно новичок в Android, и некоторые из предложенных мне предложений были слишком высокого уровня (кто-то показал мне ссылку на трактат IBM по этому вопросу ... Я немного растерялся).

Размер XML-файла достаточно велик и может увеличиться.Это в основном портативная база данных.В тестовой версии, которую я использую, 4200 строк XML-кода.

Итак, С ПРИМЕРАМИ (мне действительно нужно изучить это, увидев, чтобы я мог понять это полностью), кто-нибудь может помочь мне узнать лучший способ «загрузить файл» и накачать хотя бы верхний узел вПосмотреть список?Я знаю, что для «просмотра» файла потребуется больше программ, но если я хотя бы смогу изучить этот начальный шаг, это, вероятно, поможет мне исследовать его самостоятельно.Спасибо !!

Ответы [ 2 ]

0 голосов
/ 12 ноября 2011
xpp.setInput( Resource.getXml(R.your_xml_file_id );

Исправления: - лишний ")" отсутствует.- .xml должен быть добавлен в R.

Но я не могу избежать этого сообщения об ошибке: Несколько маркеров в этой строке - Метод setInput (Reader) в типе XmlPullParser не применим для аргументов (XmlResourceParser)) - Невозможно сделать статическую ссылку на нестатический метод getXml (int) из типа Resources - Ресурсы не могут быть разрешены

0 голосов
/ 19 июля 2011

Использовать Resource.getXmL (R.xmlfile); получить ресурс

http://developer.android.com/reference/android/content/res/XmlResourceParser.html

Использование анализатора XML Pull для получения элементов из ресурса

http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html

 import java.io.IOException;
 import java.io.StringReader;

 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 import org.xmlpull.v1.XmlPullParserFactory;

 public class SimpleXmlPullApp
 {

     public static void main (String args[])
         throws XmlPullParserException, IOException
     {
         XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
         factory.setNamespaceAware(true);
         XmlPullParser xpp = factory.newPullParser();

         xpp.setInput( Resource.getXml(R.your_xml_file_id );
         int eventType = xpp.getEventType();
         while (eventType != XmlPullParser.END_DOCUMENT) {
          if(eventType == XmlPullParser.START_DOCUMENT) {
              System.out.println("Start document");
          } else if(eventType == XmlPullParser.START_TAG) {
              System.out.println("Start tag "+xpp.getName());
          } else if(eventType == XmlPullParser.END_TAG) {
              System.out.println("End tag "+xpp.getName());
          } else if(eventType == XmlPullParser.TEXT) {
              System.out.println("Text "+xpp.getText());
          }
          eventType = xpp.next();
         }
         System.out.println("End document");
     }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...