私はSAXを使用して、大きく、多くの繰り返しノードを持つ大きなxmlファイルを解析します。また、JAXBを使用して、解析および反復されたdomノードを永続性のためにjavabeansにマップします。
これが私のコードフラグメントです。JAXBのpartial unmarshalling
サンプルコードを使用します。ノードの解析が開始されるたびにUnmarshallerオブジェクトが作成されます。1つのxml解析全体に再利用したり、複数のxml解析にキャッシュしたりできますか?
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
...
if (namespaceURI.equals("") && localName.equals( “product” )) {
Unmarshaller unmarshaller = null;
try {
//I want to reuse it, not create it in each startElement method
unmarshaller = jaxbContext.createUnmarshaller();
} catch (JAXBException e) {
throw new SAXException(e);
}
...