Wednesday, 18 April 2012

XML Parse in Android

***************************************************************************
public class GetBooking_XMLHandler extends DefaultHandler {

    Boolean currentElement = false;
    String currentValue = null;
//    public static GetCompanyList_DataList mGetCompanyList_DataList = null;
    public static GetBooking_DataList mBooking_DataList = null;
   
    public static GetBooking_DataList getBooking_DataList(){
        return mBooking_DataList;
    }
   
    public static void setCategoryList(GetBooking_DataList mBooking_DataList) {
        GetBooking_XMLHandler.mBooking_DataList = mBooking_DataList;
    }

    /** Called when tag starts ( ex:- <name>AndroidPeople</name>
     * -- <name> )*/
    @Override
    public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {

        currentElement = true;
        currentValue="";
        if (localName.equals(Constant.ITEMS))
        {
            /** Start */
            mBooking_DataList = new GetBooking_DataList();
            mBooking_DataList.ClearData();
        }
    }

    /** Called when tag closing ( ex:- <name>AndroidPeople</name>
     * -- </name> )*/
    @Override
    public void endElement(String uri, String localName, String qName)throws SAXException {

        currentElement = false;
       
        if(localName.equalsIgnoreCase(Constant.RESPONSE))
        {  
            if(currentValue!=null){
                mBooking_DataList.setResponse(currentValue);
                System.out.println("RESPONCE " +currentValue);
            }
        }
        if (localName.equalsIgnoreCase(Constant.MESSAGE))
        {
            if(currentValue!=null){
                mBooking_DataList.setMESSAGE(currentValue);
                System.out.println("MESSAGE " +currentValue);
            }
        }
    }

    /** Called to get tag characters ( ex:- <name>AndroidPeople</name>
     * -- to get AndroidPeople Character ) */
    @Override
    public void characters(char[] ch, int start, int length)throws SAXException {

        if (currentElement) {
            currentValue = new String(ch, start, length);
            currentElement = false;
        }

    }

}
******************************************************************************
public class GetBooking_DataList {

    /** Variables */
    private String mresponse = null;
    private String mmessage = null;   
   
    /** In Setter method default it will return arraylist
     *  change that to add  */
    public String getRESPONSE() {
        return mresponse;
    }

    public void setResponse(String response) {
        this.mresponse=response;
    }
   
    public String getMESSAGE() {
        return mmessage;
    }

    public void setMESSAGE(String message) {
        this.mmessage=message;
    }
   
    //this method use for clear data
    public void ClearData(){
        mmessage="";
        mresponse="";
    }

}
***********************************************************************
private class getServerDataXML extends AsyncTask<String, String, String>{

        protected void onPreExecute() {
            super.onPreExecute();
            mProcessDialog = new ProcessDialog(CompanyDetails_Activity.this, "Loading", Constant.LOADING);
        }
       
        protected String doInBackground(String... params) {
            String mRequest = String.format(Constant.COMPANY_DETAILS_URL,mCategoryID);
            Log.i(Constant.TAG, "Request URL :"+mRequest);
            String Response = mCommonClass.GetConnection(mRequest);
            return Response;
        }
       
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            mProcessDialog.dismiss();
            if (result != null) {
                Log.i(Constant.TAG, "Response " + result);
               
                try {
                    /** Handling XML */
                    SAXParserFactory mSAXParserFactory = SAXParserFactory.newInstance();
                    SAXParser mSAXParser = mSAXParserFactory.newSAXParser();
                    XMLReader mXMLReader = mSAXParser.getXMLReader();

                    /**
                     * Create handler to handle XML Tags ( extends
                     * DefaultHandler )
                     */
                    GetCompanyDetails_XMLHandler mGetCompanyDetails_XMLHandler = new GetCompanyDetails_XMLHandler();
                    mXMLReader.setContentHandler(mGetCompanyDetails_XMLHandler);

                    InputSource mInputSource = new InputSource(new StringReader(result));
                    mXMLReader.parse(mInputSource);

                } catch (Exception e) {
                    e.printStackTrace();
                }
                /** Get result from MyXMLHandler SitlesList Object */
                mCompanyDetails_DataList = GetCompanyDetails_XMLHandler.getCompanyDetails_DataList();
               
                if (mCompanyDetails_DataList != null) {
                    Log.i(Constant.TAG, "logo :--- "+mlogo);
                    setImages(mDownloadLink);
                    /*Log.i(Constant.TAG, "from Veriable :\nmComapnayName :--> "+ mComapnayName);
                    Log.i(Constant.TAG, "mPlaces :--> "+mPlaatsen);
                    Log.i(Constant.TAG, "mOprich :-->"+mOprichting);
                    Log.i(Constant.TAG, "mReistijd::->"+mReistijd);*/
                    setTextCaption(mComapnayName, mPlaatsen, mOprichting, mReistijd);
                   
                    if( !mCompanyAddress.toString().trim().equals("")){
                        tvCompanyAddress.setVisibility(TextView.VISIBLE);
                        tvCompanyAddress.setText(mCompanyAddress);
                    }else{
                        tvCompanyAddress.setVisibility(TextView.GONE);
                    }
                }
            }

No comments:

Post a Comment