Your error's here:
xr.parse(xmlparse);
This function takes an InputSource not a String.
Regards,
Neil
On Sep 14, 1:40 pm, Gulfam <[email protected]> wrote:
> Hi,
>
> I want to parse a string and want to get username and password from
> this string. Actually its a XML packet and i am passing it to my
> parsing class as a string
>
> Data for parsing is:
>
> <iq id="3Y4cX-5" to="3224005...@imran-mehmood/Smack" from="msn.imran-
> mehmood" type="result">
> <query xmlns="jabber:iq:register">
> <instructions>Please enter your MSN Passport e-mail address
> and
> password.</instructions>
> <registered></registered>
> <username>[email protected]</username>
> <password>123456789</password>
> <x xmlns="jabber:x:data">
> <instructions>Please enter your MSN Passport e-mail
> address and
> password.</instructions>
> </x>
> <x xmlns="jabber:iq:gateway:register"></x>
> </query>
> </iq>
>
> *****************************
> Here is my parsing class
>
> package com.vopium.utils;
>
> import java.io.IOException;
> import javax.xml.parsers.ParserConfigurationException;
> import javax.xml.parsers.SAXParser;
> import javax.xml.parsers.SAXParserFactory;
> import org.xml.sax.Attributes;
> import org.xml.sax.SAXException;
> import org.xml.sax.XMLReader;
> import org.xml.sax.helpers.DefaultHandler;
>
> import android.util.Log;
>
> public class VOPXMLHandlerMessenger extends DefaultHandler {
>
> private boolean iq=false;
> private boolean query=false;
> private boolean username=false;
> private boolean password=false;
>
> private int status;
>
> public int getStatus() {
> return status;
> }
>
> public void setStatus(int status) {
> this.status = status;
> }
>
> @Override
> public void startDocument() throws SAXException {
> //this.myParsedExampleDataSet = new ParsedExampleDataSet();
> }
>
> @Override
> public void endDocument() throws SAXException {
> // Nothing to do
> }
>
> @Override
> public void startElement(String namespaceURI, String localName,
> String qName, Attributes atts) throws SAXException {
> if(localName.equals("iq")){
> this.iq = true;
> }else if(localName.equals("query")){
> this.query = true;
> }else if(localName.equals("username")){
> this.username = true;
> }else if(localName.equals("password")){
> this.password = true;
> }
>
> }
>
> /** Gets be called on closing tags like:
> * </tag> */
> @Override
> public void endElement(String namespaceURI, String localName,
> String qName)
> throws SAXException {
> if(localName.equals("iq")){
> this.iq = false;
> }else if(localName.equals("query")){
> this.query = false;
> }else if(localName.equals("username")){
> this.username = false;
> }else if(localName.equals("password")){
> this.password = false;
> }
> }
>
> public void characters(char ch[], int start, int length) {
>
> if(this.username){
> Log.i("Username****************",""+ new String
> (ch,start,length));
> }
> if(this.password){
> Log.i("password****************",""+new String
> (ch,start,length));
> }
> }
>
> public void parseData(String xmlparse) throws IOException,
> SAXException, ParserConfigurationException
> {
> SAXParserFactory spf = SAXParserFactory.newInstance();
> SAXParser sp = spf.newSAXParser();
> XMLReader xr = sp.getXMLReader();
> xr.setContentHandler(this);
> xr.parse(xmlparse);
>
> }
>
> }
>
> ***************************************************
> and I am facing this Error
>
> java.io.IOException: Couldn't open <iq id="4oP7A-5"
> to="3224005...@imran-mehmood/Smack" from="msn.imran-mehmood"
> type="result"><query xmlns="jabber:iq:register"><instructions>Please
> enter your MSN Passport e-mail address and password.</
> instructions><registered></registered><username>[email protected]</
> username><password>123456789</password><x
> xmlns="jabber:x:data"><instructions>Please enter your MSN Passport e-
> mail address and password.</instructions></x><x
> xmlns="jabber:iq:gateway:register"></x></query></iq>
> at org.apache.harmony.xml.ExpatParser.openUrl(ExpatParser.java:744)
> at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:300)
> at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:333)
> at com.vopium.utils.VOPXMLHandlerMessenger.parseData
> (VOPXMLHandlerMessenger.java:124)
> at com.vopium.im.registration.VOPRegistration.getUserCredentials
> (VOPRegistration.java:165)
> at com.vopium.im.ui.VOPLoginScreen.login(VOPLoginScreen.java:55)
> at com.vopium.im.ui.VOPMainContactsList.onCreate
> (VOPMainContactsList.java:48)
> at android.app.Instrumentation.callActivityOnCreate
> (Instrumentation.java:1123)
> at android.app.ActivityThread.performLaunchActivity
> (ActivityThread.java:2231)
> at android.app.ActivityThread.startActivityNow(ActivityThread.java:
> 2112)
> at android.app.LocalActivityManager.moveToState
> (LocalActivityManager.java:127)
> at android.app.LocalActivityManager.startActivity
> (LocalActivityManager.java:339)
> at android.widget.TabHost$IntentContentStrategy.getContentView
> (TabHost.java:600)
> at android.widget.TabHost.setCurrentTab(TabHost.java:310)
> at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:126)
> at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:
> 268)
> at android.view.View.performClick(View.java:2179)
> at android.view.View.onTouchEvent(View.java:3828)
> at android.view.View.dispatchTouchEvent(View.java:3368)
> at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:831)
> at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
> at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
> at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
> at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
> at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
> at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
> at com.android.internal.policy.impl.PhoneWindow
> $DecorView.superDispatchTouchEvent(PhoneWindow.java:1707)
> at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent
> (PhoneWindow.java:1197)
> at android.app.Activity.dispatchTouchEvent(Activity.java:1993)
> at com.android.internal.policy.impl.PhoneWindow
> $DecorView.dispatchTouchEvent(PhoneWindow.java:1691)
> at android.view.ViewRoot.handleMessage(ViewRoot.java:1525)
> at android.os.Handler.dispatchMessage(Handler.java:99)
> at android.os.Looper.loop(Looper.java:123)
> 09-14 18:34:40.699: WARN/System.err(725): at
> android.app.ActivityThread.main(ActivityThread.java:3948)
> at java.lang.reflect.Method.invokeNative(Native Method)
> at java.lang.reflect.Method.invoke(Method.java:521)
> at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
> (ZygoteInit.java:782)
> at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
> at dalvik.system.NativeStart.main(Native Method)
> Caused by: java.net.MalformedURLException: Protocol not found: <iq
> id="4oP7A-5" to="3224005...@imran-mehmood/Smack" from="msn.imran-
> mehmood" type="result"><query
> xmlns="jabber:iq:register"><instructions>Please enter your MSN
> Passport e-mail address and password.</instructions><registered></
> registered><username>gul @hotmail.com</username><password>123456789</
> password><x xmlns="jabber:x:data"><instructions>Please enter your MSN
> Passport e-mail address and password.</instructions></x><x
> xmlns="jabber:iq:gateway:register"></x></query></iq>
> at java.net.URL.<init>(URL.java:285)
> at java.net.URL.<init>(URL.java:164)
> at org.apache.harmony.xml.ExpatParser.openUrl(ExpatParser.java:737)
>
> ******************************************************************************************
> Any one can Help me regarding this where I am wrong
>
> Thanks
> Gulfam Hassan
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---