我有这个XML
<request>
<accountid>123</accountid>
<accountid>1234</accountid>
</request>
我正在使用STAX解析器来阅读
XMLEventReader eventReader = inputFactory.createXMLEventReader(reader);
if (startElement.getName().toString().equals("accountid"))
{
item.account = eventReader.getElementText();
}
但我得到了
com.ctc.wstx.exc.WstxParsingException: Current state not START_ELEMENT
at [row,col {unknown-source}]: [2,31]
at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:630)
at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:461)
at com.ctc.wstx.sr.BasicStreamReader.getElementText(BasicStreamReader.java:661)
at com.ctc.wstx.evt.WstxEventReader.getElementText(WstxEventReader.java:118)
at Pavan.main(Pavan.java:49)
答案 0 :(得分:2)
当前导空格潜入XML文件第一行的开头时,我遇到了此错误消息。
答案 1 :(得分:0)
我遇到了这个错误,看来这是Wstx implmenetation中的一个错误。我碰巧在同一个问题上打了一个jira,但机票已关闭。
http://jira.codehaus.org/browse/WSTX-179
如果我不使用wstx,我不会看到这个问题。现在我使用sjsxp.jar而不是wstx,它开始工作了。不确定是否是Wstx中的某个错误或导致xml失败的验证功能。
我是一名glassfish用户,我不得不重写glassfish库进行XML解析。