SAX による XML ドキュメントの解析をいつでも停止するにはどうすればよいでしょうか? 質問する

SAX による XML ドキュメントの解析をいつでも停止するにはどうすればよいでしょうか? 質問する

Sax を使用して大きな XML ドキュメントを解析していますが、何らかの条件が成立したときにドキュメントの解析を停止したいのですが、どうすればよいでしょうか。

ベストアンサー1

SAXException の特殊化を作成してスローします (独自の特殊化を作成する必要はありませんが、これは、自分で明示的にキャッチし、他の SAXException を実際のエラーとして扱うことができることを意味します)。

public class MySAXTerminatorException extends SAXException {
    ...
}

public void startElement (String namespaceUri, String localName,
                           String qualifiedName, Attributes attributes)
                        throws SAXException {
    if (someConditionOrOther) {
        throw new MySAXTerminatorException();
    }
    ...
}

おすすめ記事