JAXBを使用してパーツをアンマーシャリングするには、xmlreaderを使用して次のxmlファイルを解析する必要があります。
<parents>
<moms>
<mom>
...
</mom>
<mom>
...
</mom>
...
</moms>
<dads>
<dad>
..
</dad>
..
..
</dads>
</parents>
要素に到達できますが、同じXmlreader変数を使用するか、まったく新しい変数を使用して<moms>
、要素に到達できません。<dads>
私はmoms要素を見つけて、そこに階層を入力することしかできません...
コード :
fileInputStream = new FileInputStream( file );
xmlStreamReader = Utils.getXMLStreamReader( fileInputStream, "UTF-8" );
JAXBContext context = JAXBContext.newInstance(Moms.class, Dads.class);
unmarshaller = context.createUnmarshaller();
xmlStreamReader.nextTag();
xmlStreamReader.require( XMLStreamConstants.START_ELEMENT, null, "parents" );
xmlStreamReader.nextTag();
xmlStreamReader.nextTag();
xmlStreamReader.require( XMLStreamConstants.START_ELEMENT, null, part );
xmlStreamReader.require( XMLStreamConstants.START_ELEMENT, null, "parents" );
while ( xmlStreamReader.getEventType() == XMLStreamConstants.START_ELEMENT )
{
String localName = xmlStreamReader.getLocalName();
if ( localName.equals("dads") )
{
xmlStreamReader.nextTag();
}
if (xmlStreamReader.getEventType() ==XMLStreamConstants.CHARACTERS)
{
xmlStreamReader.next();
}
}
}