2015-02-02 2 views
-1

Я разрабатываю приложение для Android и получаю сообщение об ошибке Когда я разбираю данные XML, такие как Json.I путают, сколько массива имеет эти данные? Я разделяю код ниже. может ли кто-нибудь помочь мне или обмен примером кода, подобным данным xml? I added photo of parsing dataparse Xml data like json parse

public class MainActivity extends Activity implements OnRefreshListener, 
     OnClickListener { 
    // Declare Variables 
    JSONObject jsonobject; 
    JSONArray jsonarray; 
    JSONArray jsonarray2; 
    ListView listview; 
    ListViewAdapter adapter; 
    ProgressDialog mProgressDialog; 
    ArrayList<HashMap<String, String>> arraylist; 
    static String RANK = "rank"; 
    static String COUNTRY = "country"; 
    static String POPULATION = "population"; 
    static String FLAG = "flag"; 

    Button btngeri; 

    static Integer[] imageId = { R.drawable.enveloppe, R.drawable.enveloppe, 
      R.drawable.enveloppe, R.drawable.enveloppe, R.drawable.enveloppe, 
      R.drawable.enveloppe, R.drawable.enveloppe }; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // Get the view from listview_main.xml 
     setContentView(R.layout.listview_main); 

     btngeri = (Button) findViewById(R.id.btn_geri); 
     btngeri.setOnClickListener(this); 


     // Execute DownloadJSON AsyncTask 
     new DownloadJSON().execute(); 
    } 

    // DownloadJSON AsyncTask 
    private class DownloadJSON extends AsyncTask<Void, Void, Void> { 

     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      // Create a progressdialog 
      mProgressDialog = new ProgressDialog(MainActivity.this); 
      // Set progressdialog title 
      mProgressDialog.setTitle("Mail Kutusu"); 
      // Set progressdialog message 
      mProgressDialog.setMessage("Güncelleme Yapılıyor..."); 
      mProgressDialog.setIndeterminate(false); 
      // Show progressdialog 
      mProgressDialog.show(); 
     } 

     @Override 
     protected Void doInBackground(Void... params) { 
      // Create an array 
      arraylist = new ArrayList<HashMap<String, String>>(); 
      // Retrieve JSON Objects from the given URL address 
      jsonobject = JSONfunctions 
        .getJSONfromURL("http://78.186.62.169:8210/AnketServis.asmx/Message"); 

      try { 
       // Locate the array name in JSON 

       jsonarray = jsonobject.getJSONArray("MessageVO"); 

       for (int i = 0; i < jsonarray.length(); i++) { 
        HashMap<String, String> map = new HashMap<String, String>(); 
        jsonobject = jsonarray.getJSONObject(i); 
        // Retrive JSON Objects 
        // map.put("rank", jsonobject.getString("rank")); 
        map.put("country", jsonobject.getString("Konu")); 
        // map.put("population", 
        // jsonobject.getString("population")); 
        // map.put("flag", jsonobject.getString("flag")); 
        // Set the JSON Objects into the array 
        arraylist.add(map); 
       } 
      } catch (JSONException e) { 
       Log.e("Error", e.getMessage()); 
       e.printStackTrace(); 
      } 
      return null; 
     } 

     @Override 
     protected void onPostExecute(Void args) { 
      // Locate the listview in listview_main.xml 
      listview = (ListView) findViewById(R.id.listview); 
      // Pass the results into ListViewAdapter.java 
      adapter = new ListViewAdapter(MainActivity.this, arraylist, imageId); 
      // Set the adapter to the ListView 
      listview.setAdapter(adapter); 
      // Close the progressdialog 
      mProgressDialog.dismiss(); 
     } 
    } 
+0

Это поможет, если вы обрезаны, что изображение, чтобы показать данные более четко. – cziemba

ответ

0

Yo не может разобрать xml-файл, как json. Вы должны использовать XML-парсер. Существует два метода анализа. SAX и Dom. Йо может видеть и о них. What is the difference between SAX and DOM? И вы можете увидеть образец XML-синтаксического анализа в android.

http://www.androidhive.info/2011/11/android-xml-parsing-tutorial/