开发者

Getting alway 0 in XMLPullParser, While webservice contains value as float

开发者 https://www.devze.com 2023-03-04 20:42 出处:网络
I have a webservice for rating it return <Score>float</Score> while retrieving this using XML parser always return null[0]. I don\'t have any idea. My code is below:

I have a webservice for rating it return <Score>float</Score> while retrieving this using XML parser always return null[0]. I don't have any idea. My code is below:

public static String parse(InputStream is) 
        {
            XmlPullParserFactory factory = null;
            try {
                factory = XmlPullParserFactory.newInstance();
            } catch (XmlPullParserException e1) {
                // TODO Auto-generated catch block
                Log.v(TAG,"Exception in Factory pull");
            }

            factory.setNamespaceAware(true);

            XmlPullParser parser = null;

            try {
                parser = factory.newPullParser();
            } catch (XmlPullParserException e1) {
                Log.v(TAG,"Exception in parser pull");
            }

            String rating = "";
            //XmlPullParser parser = Xml.newPullParser();
            Log.v("XMLParser:", parser.toString());
            try 
            {
                // auto-detect the encoding from the stream
                parser.setInput(is, null);
                int eventType = parser.getEventType();
                //Message currentMessage = null;
                boolean done = false;
                while (eventType != XmlPullParser.END_DOCUMENT && !done)
                {
                    String name = null;
                    switch (开发者_StackOverflow中文版eventType)
                    {
                        case XmlPullParser.START_DOCUMENT:
                            break;
                        case XmlPullParser.START_TAG:
                            name = parser.getName();
                            if (name.equalsIgnoreCase("Score"))
                            {
                                rating = parser.nextText();
                                Log.v("Rating", rating);
                                done = true;
                            }   
                            break;
                        case XmlPullParser.TEXT:
                            Log.v(TAG,"Node value:"+parser.getText());
                        case XmlPullParser.END_TAG:
                            break;
                    }
                    eventType = parser.next();
                }
            } 
            catch (Exception e) 
            {
                rating = "0";
            }
            return rating;

        }

My Web service xml is :

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetRatingDResponse xmlns="http://tempuri.org/">
      <GetRatingDResult>
        <Votes>int</Votes>
        <Score>float</Score>
      </GetRatingDResult>
    </GetRatingDResponse>
  </soap:Body>
</soap:Envelope>

Can any body tell me what is wrong with this code?

0

精彩评论

暂无评论...
验证码 换一张
取 消