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;
}
}