我需要使用 xmlreader 解析以下 xml 文件,然后使用 JAXB 解组这些部分。
<parents>
<moms>
<mom>
...
</mom>
<mom>
...
</mom>
...
</moms>
<dads>
<dad>
..
</dad>
..
..
</dads>
</parents>
我可以到达<moms>
元素,但我无法到达<dads>
元素,要么使用相同的 Xmlreader 变量,要么使用全新的变量。我只能找到妈妈元素,然后在那里输入层次结构......
编码 :
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();
}
}
}