Текущее состояние не START_ELEMENT - PullRequest
1 голос
/ 16 ноября 2011

У меня есть этот 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)

Ответы [ 2 ]

2 голосов
/ 03 сентября 2012

Я столкнулся с этим сообщением об ошибке, когда начальный пробел проник в начало первой строки моего файла XML.

0 голосов
/ 17 ноября 2011

Я столкнулся с этой ошибкой, и похоже, что это ошибка в имплантации Wstx. Я случайно ударил Джиру по тому же вопросу, но билет был закрыт.

http://jira.codehaus.org/browse/WSTX-179

Если я не использую wstx, я не вижу этой проблемы. Сейчас я использовал sjsxp.jar вместо wstx, и он начал работать. Не уверен, что это какая-то ошибка в Wstx или функция проверки, которая приводит к сбою xml.

Я - пользователь Glassfish, и мне пришлось переопределить библиотеки Glassfish для разбора XML.

...