Java Can';使用XMLReader无法访问特定的XML元素
我需要使用xmlreader解析下面的xml文件,然后使用JAXB解组这些部分Java Can';使用XMLReader无法访问特定的XML元素,java,xml,parsing,jaxb,Java,Xml,Parsing,Jaxb,我需要使用xmlreader解析下面的xml文件,然后使用JAXB解组这些部分 <parents> <moms> <mom> ... </mom> <mom> ... </mom> ... </moms> <dads> <dad> .. <
<parents>
<moms>
<mom>
...
</mom>
<mom>
...
</mom>
...
</moms>
<dads>
<dad>
..
</dad>
..
..
</dads>
</parents>
给定以下XML
<parents>
<moms>
<mom>A</mom>
<mom>B</mom>
</moms>
<dads>
<dad>C</dad>
</dads>
</parents>
印刷品C
我想你设法跳过了父亲的元素。试着简化你的逻辑。在我看来,所有这些要求和nextTag业务似乎都是错误的。还有,虽然我不确定,但是你while中的条件语句似乎很愚蠢。改为使用xmlStreamReader.hasNext并在完成后跳出循环。您可以提供一个代码示例吗?您的处理程序/解析程序代码是什么?@KirillLebedev-什么是处理程序/解析程序?
<parents>
<moms>
<mom>A</mom>
<mom>B</mom>
</moms>
<dads>
<dad>C</dad>
</dads>
</parents>
InputStream is = new FileInputStream("...");
XMLInputFactory xif = XMLInputFactory.newFactory();
XMLStreamReader xsr = xif.createXMLStreamReader(is);
while (xsr.hasNext()) {
if (xsr.next() == XMLStreamConstants.START_ELEMENT
&& xsr.getLocalName().equals("dad")) {
if (xsr.next() == XMLStreamConstants.CHARACTERS)
System.out.println(xsr.getText());
}
}