From 8ee14bc4b7f497139d7924b5785088bbb2dfa00f Mon Sep 17 00:00:00 2001 From: "andreas.schildbach" Date: Fri, 3 Dec 2010 18:54:01 +0000 Subject: [PATCH] fix parsing of journey attributes with Switzerland git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@377 0924bc21-9374-b0fa-ee44-9ff1593b38f0 --- src/de/schildbach/pte/AbstractHafasProvider.java | 6 +++--- src/de/schildbach/pte/util/ParserUtils.java | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/de/schildbach/pte/AbstractHafasProvider.java b/src/de/schildbach/pte/AbstractHafasProvider.java index df954463..dda8fb90 100644 --- a/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/src/de/schildbach/pte/AbstractHafasProvider.java @@ -244,7 +244,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider throws IOException { // System.out.println(request); - // System.out.println(ParserUtils.scrape(apiUri, true, wrap(request), null, false)); + // ParserUtils.printXml(ParserUtils.scrape(apiUri, true, wrap(request), null, false)); final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyyMMdd"); @@ -358,9 +358,9 @@ public abstract class AbstractHafasProvider implements NetworkProvider String longCategory = null; while (XmlPullUtil.test(pp, "JourneyAttribute")) { - XmlPullUtil.enter(pp); + XmlPullUtil.enter(pp, "JourneyAttribute"); XmlPullUtil.require(pp, "Attribute"); - final String attrName = XmlPullUtil.attr(pp, "type"); + final String attrName = pp.getAttributeValue(null, "type"); XmlPullUtil.enter(pp); final Map attributeVariants = parseAttributeVariants(pp); XmlPullUtil.exit(pp); diff --git a/src/de/schildbach/pte/util/ParserUtils.java b/src/de/schildbach/pte/util/ParserUtils.java index b17ac2f6..2d7ec905 100644 --- a/src/de/schildbach/pte/util/ParserUtils.java +++ b/src/de/schildbach/pte/util/ParserUtils.java @@ -307,6 +307,13 @@ public final class ParserUtils System.out.println("group " + i + ":" + (m.group(i) != null ? "'" + m.group(i) + "'" : "null")); } + public static void printXml(final CharSequence xml) + { + final Matcher m = Pattern.compile("(<.{80}.*?>)\\s*").matcher(xml); + while (m.find()) + System.out.println(m.group(1)); + } + public static String urlEncode(final String str) { try