2013-06-24 4 views
0

Есть ли какой-либо рабочий xml, прочитанный через HTTP-учебник или пример?Android читать xml через http

У меня есть сервер, который содержит следующие строки URL: http://192.168.0.1/update.xml:

<?xml version='1.0' encoding='UTF-8'?> 
<Version>1</Version> 

И я хотел бы показал «1» число в TextView. Как мне это сделать?

ответ

2

Вот кусок кода, который вы можете адаптировать к вашим желаниям:

Чтобы получить удаленное содержимое файла:

  HttpClient client = new DefaultHttpClient(); 
      HttpGet get = new HttpGet("my_url");   
      ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
      try {    
       String response = client.execute(get,responseHandler); 

      } catch (Exception e) { 
       Log.e("RESPONSE", "is "+e.getMessage());     
      } 

Для разбора XML строку:

 XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
     factory.setNamespaceAware(true); 
     XmlPullParser xpp = factory.newPullParser(); 
     xpp.setInput(new StringReader(response)); 
      String value = null; 

     while(xpp.getEventType() !=XmlPullParser.END_DOCUMENT){ // loop from the beginning to the end of the XML document 

      if(xpp.getEventType()==XmlPullParser.START_TAG){ 

       if(xpp.getName().equals("version")){ 
        // start tag : <version> 
            // do some stuff here, like preparing an 
            // object/variable to recieve the value "1" of the version tag 
       } 
      } 
      else if(xpp.getEventType()==XmlPullParser.END_TAG){    

         // ... end of the tag: </version> in our example    
       } 
        else if(xpp.getEventType()==XmlPullParser.TEXT){ // in a text node 
       value = xpp.getText(); // here you get the "1" value 
     } 

     xpp.next(); // next XPP state 
    }     
+0

Ive получил ошибку для ответа, потому что это не переменная этой строки: xpp.setInput (новый StringReader (response)); – meklod400

+0

Смотрите правки! –

0

Это не очень сложная задача, и она подробно освещена на сайте разработчика Android here.

+0

Но ARENT рабочий пример. Вот почему я попросил вашу помощь – meklod400

+0

Если вы могли бы использовать этот ресурс, чтобы попытаться написать код, вернитесь с более конкретным вопросом о том, где вы боретесь, я мог бы помочь. Как бы то ни было, мне пришлось бы написать заявку для вас. ;) – MaxAlexander