Also ich kann den felher schon weiter "einzäunen" bei den letzten xml daten wird einfach eine datei in 2 geteilt
LogCat:
1 letzter
06-16 20:21:34.108: I/System.out(14291): parsingTitle : In welchem Film hat Johnny Depp nicht mitgespielt?
06-16 20:21:34.108: I/System.out(14291): parsinganswer1 : Edward mit den Scherenhänden
06-16 20:21:34.108: I/System.out(14291): parsinganswer2 : Sleepy Hollow
06-16 20:21:34.108: I/System.out(14291): parsinganswer3 : Corpse Bride
06-16 20:21:34.108: I/System.out(14291): parsinganswer4 : Shutter Island
Letzter
06-16 20:21:34.108: I/System.out(14291): parsingTitle : Von wem wird der rosarote Panther ge <---------- Wird unterbrochen
06-16 20:21:34.113: I/System.out(14291): parsingTitle : jagt? <---------- Soll oben sein
06-16 20:21:34.113: I/System.out(14291): parsinganswer1 : Hercule Poirot
06-16 20:21:34.113: I/System.out(14291): parsinganswer2 : Sam Spade
06-16 20:21:34.113: I/System.out(14291): parsinganswer3 : Sherlock Holmes
06-16 20:21:34.113: I/System.out(14291): parsinganswer4 : Inspektor Clouseau
Hier der Code zum auslesen
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
if ("question".equalsIgnoreCase(qName)) {
currentItem = new XmlItem();
} else if ("question_id_db".equalsIgnoreCase(qName)) {
parsingid = true;
} else if ("question_title".equalsIgnoreCase(qName)) {
parsingTitle = true;
} else if ("ranswer".equalsIgnoreCase(qName)) {
parsingranswer = true;
} else if ("answer1".equalsIgnoreCase(qName)) {
parsinganswer1 = true;
} else if ("answer2".equalsIgnoreCase(qName)) {
parsinganswer2 = true;
} else if ("answer3".equalsIgnoreCase(qName)) {
parsinganswer3 = true;
} else if ("answer4".equalsIgnoreCase(qName)) {
parsinganswer4 = true;
} else if ("time".equalsIgnoreCase(qName)) {
parsingtime = true;
} else if ("diff".equalsIgnoreCase(qName)) {
parsingdiff = true;
}
}
/*
* (non-Javadoc)
* @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int)
*/
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
if (parsingTitle) {
if (currentItem != null) {
System.out.println("parsingTitle : " + new String(ch, start, length));
currentItem.setQuestionT(new String(ch, start, length));
}
} else if (parsinganswer1) {
if (currentItem != null) {
System.out.println("parsinganswer1 : " + new String(ch, start, length));
currentItem.setAnswer1(new String(ch, start, length));
}
} else if (parsinganswer2) {
if (currentItem != null) {
System.out.println("parsinganswer2 : " + new String(ch, start, length));
currentItem.setAnswer2(new String(ch, start, length));
}
} else if (parsinganswer3) {
if (currentItem != null) {
System.out.println("parsinganswer3 : " + new String(ch, start, length));
currentItem.setAnswer3(new String(ch, start, length));
}
} else if (parsinganswer4) {
if (currentItem != null) {
System.out.println("parsinganswer4 : " + new String(ch, start, length));
currentItem.setAnswer4(new String(ch, start, length));
}
} else if (parsingtime) {
if (currentItem != null) {
currentItem.setTime(new String(ch, start, length));
}
} else if (parsingranswer) {
if (currentItem != null) {
currentItem.setRanswer(new String(ch, start, length));
}
} else if (parsingdiff) {
if (currentItem != null) {
currentItem.setDiff(new String(ch, start, length));
}
} else if (parsingid) {
if (currentItem != null) {
currentItem.setId(new String(ch, start, length));
}
}
}
/*
* (non-Javadoc)
* @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
*/
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
if ("question".equalsIgnoreCase(qName)) {
rssItems.add(currentItem);
currentItem = null;
} else if ("question_id_db".equalsIgnoreCase(qName)) {
parsingid = false;
} else if ("question_title".equalsIgnoreCase(qName)) {
parsingTitle = false;
} else if ("ranswer".equalsIgnoreCase(qName)) {
parsingranswer = false;
} else if ("answer1".equalsIgnoreCase(qName)) {
parsinganswer1 = false;
} else if ("answer2".equalsIgnoreCase(qName)) {
parsinganswer2 = false;
} else if ("answer3".equalsIgnoreCase(qName)) {
parsinganswer3 = false;
} else if ("answer4".equalsIgnoreCase(qName)) {
parsinganswer4 = false;
} else if ("time".equalsIgnoreCase(qName)) {
parsingtime = false;
} else if ("diff".equalsIgnoreCase(qName)) {
parsingdiff = false;
}
}
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.