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
-~----------~----~----~----~------~----~------~--~---