2011-06-20 6 views
2

私のプログラムでは、私のプログラムでxmlpullparser例外が発生していますが、それをゴーグルしましたが、私がアンドロイドに慣れているので、問題の解決方法を理解できませんでした。私はまだ多くのプログラムを修正しましたが、私はこれを解決するために助けてくれました。Android:XmlpullParser例外

私はWSDL、KSOAP1.2を使用しています。

ありがとうございました....! 12:23.099: org.xmlpull: は/をSystem.err(688)WARN

は、ここでこれらは、logcatメッセージ

6月20日18ある私のコード

public void register() { 
    Log.v(TAG, "Trying to Login"); 


     EditText etxt_user = (EditText) findViewById(R.id.regetfirstname); 
     EditText etxt_pass = (EditText) findViewById(R.id.regetlastname); 
     EditText etxt_dob = (EditText) findViewById(R.id.regetdob); 
     EditText etxt_email = (EditText) findViewById(R.id.regetemail); 
     EditText etxt_password = (EditText) findViewById(R.id.regetpwd); 
     EditText etxt_confirmpassword = (EditText) findViewById(R.id.regetrepwd); 
     EditText etxt_mobno = (EditText) findViewById(R.id.regetmobno); 
     final Button regmalebtn = (Button) findViewById(R.id.regmalebtn); 
     Button regfemalebtn = (Button) findViewById(R.id.regfemalebtn); 
    // String deviceid = null; 
     String fname = etxt_user.getText().toString(); 
     String lname = etxt_pass.getText().toString(); 
     String dob = etxt_dob.getText().toString(); 
     String contact = etxt_mobno.getText().toString(); 


     String password; 
     String confirmpassword ; 
     String email = etxt_email.getText().toString(); 
     password = etxt_password.getText().toString(); 
     confirmpassword = etxt_confirmpassword.getText().toString(); 



    final SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
    SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
    soapEnvelope.dotNet = true; 
    soapEnvelope.setOutputSoapObject(request); 
    HttpTransportSE aht = new HttpTransportSE(URL); 
    try { 

    // boolean pstatus = false; 
    if (confirmpassword != null && password != null) 
    { 
    if (password.equals(confirmpassword)) 
    { 
     request.addProperty("password", password); 

    } 
} 
    regmalebtn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      // String gender = regmalebtn.getText().toString(); 

      String gender; 
      gender = ((Button)findViewById(R.id.regmalebtn)).getText().toString(); 
      gender.equals("male"); 
      request.addProperty("gender", gender); 
     } 
    }); 
    regfemalebtn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      // String gender = regmalebtn.getText().toString(); 
      // request.addProperty("gender", gender); 
      String gender; 
      gender = ((Button)findViewById(R.id.regfemalebtn)).getText().toString(); 
      gender.equals("female"); 
      request.addProperty("gender", gender); 
     } 
    }); 

    request.addProperty("email", email); 
    request.addProperty("contact", contact); 
    request.addProperty("fname", fname); 
    request.addProperty("lname", lname); 

    request.addProperty("dateofbirth", dob); 
    //request.addProperty("password", "password"); 
    request.addProperty("latitude", 76); 
    request.addProperty("longitude", 82); 
    request.addProperty("device_id", "12345"); 

     aht.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); 
     aht.call(SOAP_ACTION, soapEnvelope); 
     // SoapObject result = (SoapObject)soapEnvelope.getResponse(); 


     SoapObject resultsRequestSOAP = (SoapObject) soapEnvelope.bodyIn; 
     Log.v("TAG", String.valueOf(resultsRequestSOAP)); 
     //String resultData; 
    // resultData = request.getProperty(0).toString(); 
    } catch (Exception e) { 

     e.printStackTrace(); 
    } 


} 

} 

です。 v1.XmlPullParserException:期待 :START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope(位置:1 @ START_TAG: 6 [email protected]) 06から20 18:12:23.099: org.kxml2.io.KXmlParser.exception(KXmlParser.java:273)で 6月20日18:12:23.108: はWARNは/ System.errの(688)WARN /System.err(688): org.kxml2.io.KXmlParser.require(KXmlParser.java:1431) 06-20 18:12:23.108: WARN/System.err(688): org。 ksoap2.SoapEnvelope.parse(不明な ソース)06-20 18:12:23.108: WARN/System.err(688): でorg.ksoap2.transport.Transport.parseResponse(不明な ソース)06-20 18: 12:23.108: WARN/System.err(688): でorg.ksoap2.transport.HttpTransportSE.call(不明な ソース)06-20 18:12:2 3.118: はWARN/System.errの(688):12:23.118: com.soap.Register.register(Register.java:189) 6月20日18時 がWARN/System.errの(688): でcom.soap.Register $ 1 $ 1.run(Register.java:42は)

+0

これは、より多くのあなたのパーサを持つよりも、あなたのXML自体に問題のようであるように思われます。 – dmon

+0

あなたは私はあなたの質問に答えたと思うWSDLまたは何か他のもの – Randroid

+0

に問題があることを意味@dmon、[こちら]をご覧ください。[1] [1]:http://stackoverflow.com/questions/24606552/using -net-web-service-in-android-parsing-the-returned-xml#comment38128128_24606552 –

答えて

0
public static void getAllXML(String url) throws 
XmlPullParserException, IOException, URISyntaxException{ 
XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
factory.setNamespaceAware(true); 
XmlPullParser parser = factory.newPullParser(); 
parser.setInput(new InputStreamReader(getUrlData(url))); 
XmlUtils.beginDocument(parser,"results"); 
int eventType = parser.getEventType(); 
do{ 
    XmlUtils.nextElement(parser); 
    parser.next(); 
    eventType = parser.getEventType(); 
    if(eventType == XmlPullParser.TEXT){ 
    Log.d("test",parser.getText()); 
} 
} while (eventType != XmlPullParser.END_DOCUMENT) ;  
} 
public InputStream getUrlData(String url) 
throws URISyntaxException, ClientProtocolException, IOException { 
DefaultHttpClient client = new DefaultHttpClient(); 
HttpGet method = new HttpGet(new URI(url)); 
    HttpResponse res = client.execute(method); 
return res.getEntity().getContent(); 
} 
関連する問題