mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-16 17:39:49 +00:00
Try skipping XML whitespaces more elegantly
This commit is contained in:
parent
34f44f174b
commit
f7f3c5080d
2 changed files with 19 additions and 15 deletions
|
@ -486,9 +486,6 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
|
||||||
|
|
||||||
XmlPullUtil.enter(pp, "LocationList");
|
XmlPullUtil.enter(pp, "LocationList");
|
||||||
|
|
||||||
if (pp.isWhitespace())
|
|
||||||
pp.next();
|
|
||||||
|
|
||||||
while (XmlPullUtil.test(pp, "StopLocation") || XmlPullUtil.test(pp, "CoordLocation"))
|
while (XmlPullUtil.test(pp, "StopLocation") || XmlPullUtil.test(pp, "CoordLocation"))
|
||||||
{
|
{
|
||||||
final String name = ParserUtils.resolveEntities(XmlPullUtil.attr(pp, "name"));
|
final String name = ParserUtils.resolveEntities(XmlPullUtil.attr(pp, "name"));
|
||||||
|
@ -521,9 +518,6 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
|
||||||
XmlPullUtil.enter(pp);
|
XmlPullUtil.enter(pp);
|
||||||
XmlPullUtil.exit(pp);
|
XmlPullUtil.exit(pp);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pp.isWhitespace())
|
|
||||||
pp.next();
|
|
||||||
}
|
}
|
||||||
XmlPullUtil.exit(pp, "LocationList");
|
XmlPullUtil.exit(pp, "LocationList");
|
||||||
|
|
||||||
|
@ -1123,10 +1117,6 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
|
||||||
throw new IllegalStateException("error " + code + " " + XmlPullUtil.attr(pp, "text"));
|
throw new IllegalStateException("error " + code + " " + XmlPullUtil.attr(pp, "text"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// workaround for broken firstConDiffersFromReqDate="true" as text node
|
|
||||||
if (pp.getEventType() == XmlPullParser.TEXT)
|
|
||||||
pp.nextTag();
|
|
||||||
|
|
||||||
final String c = XmlPullUtil.test(pp, "ConResCtxt") ? XmlPullUtil.text(pp) : null;
|
final String c = XmlPullUtil.test(pp, "ConResCtxt") ? XmlPullUtil.text(pp) : null;
|
||||||
final Context context;
|
final Context context;
|
||||||
if (previousContext == null)
|
if (previousContext == null)
|
||||||
|
|
|
@ -15,13 +15,28 @@ import org.xmlpull.v1.XmlPullParserException;
|
||||||
*/
|
*/
|
||||||
public final class XmlPullUtil
|
public final class XmlPullUtil
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public static boolean test(final XmlPullParser pp, final String tagName) throws XmlPullParserException, IOException
|
||||||
|
{
|
||||||
|
if (pp.getEventType() == XmlPullParser.TEXT && pp.isWhitespace())
|
||||||
|
pp.next();
|
||||||
|
|
||||||
|
return pp.getEventType() == XmlPullParser.START_TAG && pp.getName().equals(tagName);
|
||||||
|
}
|
||||||
|
|
||||||
public static void require(final XmlPullParser pp, final String tagName) throws XmlPullParserException, IOException
|
public static void require(final XmlPullParser pp, final String tagName) throws XmlPullParserException, IOException
|
||||||
{
|
{
|
||||||
|
if (pp.getEventType() == XmlPullParser.TEXT && pp.isWhitespace())
|
||||||
|
pp.next();
|
||||||
|
|
||||||
pp.require(XmlPullParser.START_TAG, null, tagName);
|
pp.require(XmlPullParser.START_TAG, null, tagName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void enter(final XmlPullParser pp) throws XmlPullParserException, IOException
|
public static void enter(final XmlPullParser pp) throws XmlPullParserException, IOException
|
||||||
{
|
{
|
||||||
|
if (pp.getEventType() == XmlPullParser.TEXT && pp.isWhitespace())
|
||||||
|
pp.next();
|
||||||
|
|
||||||
if (pp.getEventType() != XmlPullParser.START_TAG)
|
if (pp.getEventType() != XmlPullParser.START_TAG)
|
||||||
throw new IllegalStateException("expecting start tag to enter");
|
throw new IllegalStateException("expecting start tag to enter");
|
||||||
if (pp.isEmptyElementTag())
|
if (pp.isEmptyElementTag())
|
||||||
|
@ -32,6 +47,9 @@ public final class XmlPullUtil
|
||||||
|
|
||||||
public static void enter(final XmlPullParser pp, final String tagName) throws XmlPullParserException, IOException
|
public static void enter(final XmlPullParser pp, final String tagName) throws XmlPullParserException, IOException
|
||||||
{
|
{
|
||||||
|
if (pp.getEventType() == XmlPullParser.TEXT && pp.isWhitespace())
|
||||||
|
pp.next();
|
||||||
|
|
||||||
pp.require(XmlPullParser.START_TAG, null, tagName);
|
pp.require(XmlPullParser.START_TAG, null, tagName);
|
||||||
enter(pp);
|
enter(pp);
|
||||||
}
|
}
|
||||||
|
@ -49,6 +67,7 @@ public final class XmlPullUtil
|
||||||
public static void exit(final XmlPullParser pp, final String tagName) throws XmlPullParserException, IOException
|
public static void exit(final XmlPullParser pp, final String tagName) throws XmlPullParserException, IOException
|
||||||
{
|
{
|
||||||
exitSkipToEnd(pp);
|
exitSkipToEnd(pp);
|
||||||
|
|
||||||
pp.require(XmlPullParser.END_TAG, null, tagName);
|
pp.require(XmlPullParser.END_TAG, null, tagName);
|
||||||
pp.next();
|
pp.next();
|
||||||
}
|
}
|
||||||
|
@ -66,11 +85,6 @@ public final class XmlPullUtil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean test(final XmlPullParser pp, final String tagName) throws XmlPullParserException
|
|
||||||
{
|
|
||||||
return pp.getEventType() == XmlPullParser.START_TAG && pp.getName().equals(tagName);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void requireSkip(final XmlPullParser pp, final String tagName) throws XmlPullParserException, IOException
|
public static void requireSkip(final XmlPullParser pp, final String tagName) throws XmlPullParserException, IOException
|
||||||
{
|
{
|
||||||
require(pp, tagName);
|
require(pp, tagName);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue