【问题标题】:Current state not START_ELEMENT当前状态不是 START_ELEMENT
【发布时间】:2011-11-16 03:37:22
【问题描述】:

我有这个 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)

【问题讨论】:

    标签: xml parsing stax


    【解决方案1】:

    当我的 XML 文件的第一行开头出现一个前导空格时,我遇到了此错误消息。

    【讨论】:

      【解决方案2】:

      我遇到了这个错误,这似乎是 Wstx 实现中的一个错误。我碰巧在同一问题上遇到了 jira,但票已关闭。

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

      如果我不使用 wstx,我看不到这个问题。现在我使用 sjsxp.jar 而不是 wstx,它开始工作了。不确定是 Wstx 中的一些错误还是导致 xml 失败的验证功能。

      我是 glassfish 用户,我必须重写 glassfish 库以进行 XML 解析。

      【讨论】:

        猜你喜欢
        • 2010-10-22
        • 1970-01-01
        • 2012-08-06
        • 2014-05-28
        • 1970-01-01
        • 2020-07-21
        • 2019-01-17
        • 1970-01-01
        • 2021-12-27
        相关资源
        最近更新 更多