Hallo.
ich will via XmlPullParser eine xml.Datei auslesen.
Die Besonderkeit ist, dass dass description-Tag nicht
in jedem Item vorhanden ist:
Die Datei sieht schematisch so aus:
<item>
<title>....</title>
<description>...</description>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid></item>
<item>
<title>....</title>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid>
</item>
<item>
<title>....</title>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid>
</item>
<item>
<title>....</title>
<description>...</description>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid>
</item>
<item>
<title>....</title>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid>
</item>
<item>
<title>....</title>
<description>...</description>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid>
</item>
Die Originaldatei ist errechbar unter::
https://www.rechtsprechung-im-intern.../bsjrs-bgh.xml
mit meinem Code kann ich zwar die Datei lesen,
while (eventType != XmlPullParser.END_DOCUMENT && !done) { tagName = parser.getName(); count++; switch (eventType) { case XmlPullParser.START_DOCUMENT: break; case XmlPullParser.START_TAG: if (tagName.equals(ITEM)) { rssFeed = new RSSFeed(); } //if(parser.getName().equals(DESCRIPTION)){ //if( "description".equals(parser.getName()) == null){ //if (parser.getName().toString() != null) { funzt nicht if (tagName.equals(TITLE)) { title = parser.nextText() + "\r\n"; } else if ("description".equals(parser.getName())) { // flag = true; description = parser.nextText() + ""; } else if ("pubDate".equals(parser.getName())) { pubDate = parser.nextText(); } else if ("link".equals(parser.getName())) { link = parser.nextText(); } // } break;
allerdings schreibt er den Inhalt des ersten
description-Tag auch in die Items, die keinen desription -Tag haben, solange
bis wieder ein Item mit description kommt. Letzteres schreibt er dann weiter bis
wieder ein neues kommt; kuz um, es wird mit dem vorangegangen description-Tag die nachfolgenden
items ohne description-Tags gefüllt.
Mein Problem: Wie unterscheide ich die mit und ohne.description
ich habs versucht mit
//if(parser.getName().equals(DESCRIPTION)){
//if( "description".equals(parser.getName()) == null){
//if (parser.getName().toString() != null) {
Kann mir jemand einen Hinweis geben, wie?
Danke
ich will via XmlPullParser eine xml.Datei auslesen.
Die Besonderkeit ist, dass dass description-Tag nicht
in jedem Item vorhanden ist:
Die Datei sieht schematisch so aus:
<item>
<title>....</title>
<description>...</description>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid></item>
<item>
<title>....</title>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid>
</item>
<item>
<title>....</title>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid>
</item>
<item>
<title>....</title>
<description>...</description>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid>
</item>
<item>
<title>....</title>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid>
</item>
<item>
<title>....</title>
<description>...</description>
<link>.....</link>
<pubDate>....</pubDate>
<guid></guid>
</item>
Die Originaldatei ist errechbar unter::
https://www.rechtsprechung-im-intern.../bsjrs-bgh.xml
mit meinem Code kann ich zwar die Datei lesen,
while (eventType != XmlPullParser.END_DOCUMENT && !done) { tagName = parser.getName(); count++; switch (eventType) { case XmlPullParser.START_DOCUMENT: break; case XmlPullParser.START_TAG: if (tagName.equals(ITEM)) { rssFeed = new RSSFeed(); } //if(parser.getName().equals(DESCRIPTION)){ //if( "description".equals(parser.getName()) == null){ //if (parser.getName().toString() != null) { funzt nicht if (tagName.equals(TITLE)) { title = parser.nextText() + "\r\n"; } else if ("description".equals(parser.getName())) { // flag = true; description = parser.nextText() + ""; } else if ("pubDate".equals(parser.getName())) { pubDate = parser.nextText(); } else if ("link".equals(parser.getName())) { link = parser.nextText(); } // } break;
allerdings schreibt er den Inhalt des ersten
description-Tag auch in die Items, die keinen desription -Tag haben, solange
bis wieder ein Item mit description kommt. Letzteres schreibt er dann weiter bis
wieder ein neues kommt; kuz um, es wird mit dem vorangegangen description-Tag die nachfolgenden
items ohne description-Tags gefüllt.
Mein Problem: Wie unterscheide ich die mit und ohne.description
ich habs versucht mit
//if(parser.getName().equals(DESCRIPTION)){
//if( "description".equals(parser.getName()) == null){
//if (parser.getName().toString() != null) {
Kann mir jemand einen Hinweis geben, wie?
Danke
Comment