Gelöschter Account
- Forum-Beiträge: 7
20.06.2011, 22:37:05 via Website
20.06.2011 22:37:05 via Website
Hallo alles zusammen!
Ich bin gerade an einer app, die automatisch nachrichten aus einer DB ließt, und diese automatisch versendet.
Im Prinzip funktioniert auch alles. Das einzige Problem:
Sobald DB-Einträge mit den Zeichen " oder & oder < erfolgen, wird der Datensatz nicht ausgelesen, d.h. die sms wird nicht gesendet!
Wenn ich den Datensatz in die App als String einbaue, werden diese auch ganz normal versendet....
Daraus schließe ich, das das Problem NUR am xml-Parser liegen kann...
Habt ihr evtl vorschläge, wie ich an das Problem drangehen kann?!
Die DB ist übrigens mit utf8_general_ci codiert
Danke an alle, die versuchen, mir zu helfen!!!
Zum Einloggen benutze ich folgenden code:
zum Auslesen:
Und zum Speichern der ausgelesenen Werte:
Ich bin gerade an einer app, die automatisch nachrichten aus einer DB ließt, und diese automatisch versendet.
Im Prinzip funktioniert auch alles. Das einzige Problem:
Sobald DB-Einträge mit den Zeichen " oder & oder < erfolgen, wird der Datensatz nicht ausgelesen, d.h. die sms wird nicht gesendet!
Wenn ich den Datensatz in die App als String einbaue, werden diese auch ganz normal versendet....
Daraus schließe ich, das das Problem NUR am xml-Parser liegen kann...
Habt ihr evtl vorschläge, wie ich an das Problem drangehen kann?!
Die DB ist übrigens mit utf8_general_ci codiert
Danke an alle, die versuchen, mir zu helfen!!!
Zum Einloggen benutze ich folgenden code:
1client = new DefaultHttpClient();
2 HttpConnectionParams.setConnectionTimeout(client.getParams(), 15000);
3
4 try {
5
6 post = new HttpPost(stringReceiveURL);
7
8 List<NameValuePair> nvps = new ArrayList<NameValuePair>();
9
10 nvps.add(new BasicNameValuePair("username", login));
11 nvps.add(new BasicNameValuePair("password", pw));
12
13 post.setHeader("Content-Type", "application/x-www-form-urlencoded");
14 post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
15
16 } catch (Exception e) {
17 Log.d(TAG, e.toString());
18 }
2 HttpConnectionParams.setConnectionTimeout(client.getParams(), 15000);
3
4 try {
5
6 post = new HttpPost(stringReceiveURL);
7
8 List<NameValuePair> nvps = new ArrayList<NameValuePair>();
9
10 nvps.add(new BasicNameValuePair("username", login));
11 nvps.add(new BasicNameValuePair("password", pw));
12
13 post.setHeader("Content-Type", "application/x-www-form-urlencoded");
14 post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
15
16 } catch (Exception e) {
17 Log.d(TAG, e.toString());
18 }
zum Auslesen:
1try {
2 response = client.execute(post);
3 entity = response.getEntity();
4
5 InputStream is = entity.getContent();
6 SAXParserFactory spf = SAXParserFactory.newInstance();
7 SAXParser sp;
8
9 sp = spf.newSAXParser();
10 XMLReader xr = sp.getXMLReader();
11 LoginContentHandler uch = new LoginContentHandler();
12 xr.setContentHandler(uch);
13 xr.parse(new InputSource(is));
14 is.close();
15 if (entity != null)
16 entity.consumeContent();
17 } catch (ParserConfigurationException e) {
18 } catch (SAXException e) {
19 } catch (IOException e) {
20 }
2 response = client.execute(post);
3 entity = response.getEntity();
4
5 InputStream is = entity.getContent();
6 SAXParserFactory spf = SAXParserFactory.newInstance();
7 SAXParser sp;
8
9 sp = spf.newSAXParser();
10 XMLReader xr = sp.getXMLReader();
11 LoginContentHandler uch = new LoginContentHandler();
12 xr.setContentHandler(uch);
13 xr.parse(new InputSource(is));
14 is.close();
15 if (entity != null)
16 entity.consumeContent();
17 } catch (ParserConfigurationException e) {
18 } catch (SAXException e) {
19 } catch (IOException e) {
20 }
Und zum Speichern der ausgelesenen Werte:
1public void startElement(String n, String l, String q, Attributes a) throws SAXException {
2
3 if (l == "login")
4 in_loginTag = true;
5 if (l == "user" && in_loginTag && a.getValue("an").toString() != "")
6 an = a.getValue("an").toString();
7 if (l == "user2" && in_loginTag && a.getValue("smsid") != "")
8 smsid = a.getValue("smsid").toString();
9 if (l == "user3" && in_loginTag && a.getValue("text").toString() != "")
10 text = a.getValue("text").toString();
11
12 if (l == "errors")
13 in_loginTag = false;
14
15 if (l == "error" && !in_loginTag && a.getValue("message").toString() != "")
16 error2 = a.getValue("message").toString();
17 }
2
3 if (l == "login")
4 in_loginTag = true;
5 if (l == "user" && in_loginTag && a.getValue("an").toString() != "")
6 an = a.getValue("an").toString();
7 if (l == "user2" && in_loginTag && a.getValue("smsid") != "")
8 smsid = a.getValue("smsid").toString();
9 if (l == "user3" && in_loginTag && a.getValue("text").toString() != "")
10 text = a.getValue("text").toString();
11
12 if (l == "errors")
13 in_loginTag = false;
14
15 if (l == "error" && !in_loginTag && a.getValue("message").toString() != "")
16 error2 = a.getValue("message").toString();
17 }
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.