एक्सएमएल इनकमिंग वैल्यू को स्ट्रिंग में कैसे सेव करें

I'm new to Android. I'm using AsyncTask to get values from Yahoo weather API

मैं वहां से मूल्य प्राप्त करना चाहता हूं। मैंने पहले ही स्ट्रिंग वेरिएबल को मानों को सेव किया है। लेकिन मुझे नहीं पता कि इन मानों को कैसे अलग किया जाए। और मैं इन मानों को टेक्स्ट व्यू में प्रदर्शित करना चाहता हूं। मैंने Logcat के साथ नीचे मेरे कोड का उल्लेख किया। कृपया मेरी मदद करें

enter image description here

0

1 उत्तर

मैं आपके याहू मौसम एक्सएमएल को स्ट्रिंग में कनवर्ट करने के लिए यहां नहीं हूं लेकिन उदाहरण के नीचे अपनी संभावना का मार्गदर्शन करने के लिए ....

 public class XMLParser extends DefaultHandler
  {


            List list=null;

           //string builder acts as a buffer
            StringBuilder builder;

            XmlValuesModel jobsValues=null;


            //Initialize the arraylist
            //@throws SAXException

            @Override
            public void startDocument() throws SAXException {

                /******* Create ArrayList To Store XmlValuesModel object ******/
                list = new ArrayList();
            }


            //Initialize the temp XmlValuesModel object which will hold the parsed info
            //and the string builder that will store the read characters
            //@param uri
            //@param localName ( Parsed Node name will come in localName  )
            //@param qName
            //@param attributes
            //@throws SAXException

            @Override
            public void startElement(String uri, String localName, String qName,
                    Attributes attributes) throws SAXException {

                /****  When New xml Node initiating to parse this function called *****/

               //Create StringBuilder object to store xml node value
                builder=new StringBuilder();

                if(localName.equals("login")){

                    //Log.i("parse","====login=====");
                }
                else if(localName.equals("status")){

                   //Log.i("parse","====status=====");
                }
                else if(localName.equals("jobs")){

                }
                else if(localName.equals("job")){

                   //Log.i("parse","----Job start----");
                    /********** Create Model Object  *********/
                    jobsValues = new XmlValuesModel();
                }
            }



            //Finished reading the login tag, add it to arraylist
            //@param uri
            //@param localName
            //@param qName
            //@throws SAXException

            @Override
            public void endElement(String uri, String localName, String qName)
                    throws SAXException {


                if(localName.equals("job")){

                    /** finished reading a job xml node, add it to the arraylist **/
                    list.add( jobsValues );

                }
                else  if(localName.equalsIgnoreCase("status")){


                }
                else  if(localName.equalsIgnoreCase("id")){ 

                    jobsValues.setid(Integer.parseInt(builder.toString()));
                }
                else if(localName.equalsIgnoreCase("companyid")){

                    jobsValues.setcompanyid(Integer.parseInt(builder.toString()));
                }
                else if(localName.equalsIgnoreCase("company")){
                    jobsValues.setcompany(builder.toString());
                }
                else if(localName.equalsIgnoreCase("address")){
                    jobsValues.setaddress(builder.toString());
                }
                else if(localName.equalsIgnoreCase("city")){
                    jobsValues.setcity(builder.toString());
                }
                else if(localName.equalsIgnoreCase("state")){
                    jobsValues.setstate(builder.toString());
                }
                else if(localName.equalsIgnoreCase("zipcode")){
                    jobsValues.setzipcode(builder.toString());
                }
                else if(localName.equalsIgnoreCase("country")){
                    jobsValues.setcountry(builder.toString());
                }
                else if(localName.equalsIgnoreCase("telephone")){
                    jobsValues.settelephone(builder.toString());
                }
                else if(localName.equalsIgnoreCase("date")){
                    jobsValues.setdate(builder.toString());
                }

            //Log.i("parse",localName.toString()+"========="+builder.toString());
            }


            //Read the value of each xml NODE
            //@param ch
            //@param start
            //@param length
            //@throws SAXException

            @Override
            public void characters(char[] ch, int start, int length)
                    throws SAXException {

                /******  Read the characters and append them to the buffer  ******/
                String tempString=new String(ch, start, length);
                 builder.append(tempString);
            }
  }

और आखिरकार आपके एक्सएमएल मूल्यों को सहेजने के लिए एक अलग वर्ग होना चाहिए। उदाहरण के लिए आपके मामले में यह हो सकता है: WeatherDetails.class

1
जोड़ा
वोट मत लोग क्यों .. मेरा जवाब विशिष्ट लेकिन सामान्य नहीं है। मेरे काम को करने के लिए यह गलत कैसे हो सकता है लेकिन उसका संदेह साफ कर रहा है ..?
जोड़ा लेखक user2991491, स्रोत