Если вы застряли на пути StartElementListener
, вы должны установить слушателя на элемент tag
, а когда он равен label
, равно "idNumPage", установить флаг, так что другой StartElementListener
выустановленный на элемент child
должен быть прочитан.
Обновление Ниже приведен пример того, как сделать это с помощью этих слушателей:
android.sax.Element tag = root.getChild("tag");
final StartTagElementListener listener = new StartTagElementListener();
tag.setStartElementListener(listener);
android.sax.Element page_info = tag.getChild("child");
page_info.setStartElementListener(new StartElementListener()
{
@Override
public void start(Attributes attributes)
{
if (listener.readNow())
{
//TODO: you are in the tag with label="idNumPage"
}
}
});
И StartTagElementListener
реализован с дополнительным геттером readNow
, чтобы сообщить нам, когда читать атрибуты тега child
:
public final class StartTagElementListener implements StartElementListener
{
private boolean doReadNow = false;
@Override
public void start(Attributes attributes)
{
doReadNow = attributes.getValue("label").equals("idNumPage");
}
public boolean readNow()
{
return doReadNow;
}
}
PS : Рассматривали ли вы использование реализации org.xml.sax.helpers.DefaultHandler
для этой задачи?