Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java XMLEventReader的当前事件_Java_Iterator_Stax - Fatal编程技术网

Java XMLEventReader的当前事件

Java XMLEventReader的当前事件,java,iterator,stax,Java,Iterator,Stax,发件人: 此处引用的XMLEventReader的“当前”事件是什么 是上次调用该读卡器返回的事件: a) 到nextEvent(),或 b) 要peek() 根据上一个问题的答案,您如何解释清单2中的这个片段: 我遇到了一个ParseError:解析器必须在START\u元素上才能读取下一个文本请注意,.peek()不会从流中读取。.peek()的文档说明: 检查下一个XMLEvent,而不从流中读取它。退换商品 如果流处于EOF或不再具有XMLEvents,则为null。打电话给 peek(

发件人:

此处引用的
XMLEventReader
的“当前”事件是什么

是上次调用该读卡器返回的事件:

a) 到
nextEvent()
,或
b) 要
peek()

根据上一个问题的答案,您如何解释清单2中的这个片段:


我遇到了一个
ParseError:解析器必须在START\u元素上才能读取下一个文本

请注意,
.peek()
不会从流中读取。
.peek()
的文档说明:

检查下一个
XMLEvent
,而不从流中读取它。退换商品 如果流处于
EOF
或不再具有
XMLEvents
,则为null。打电话给
peek()
将等于
next()
的下一次返回

因此,指针的位置不会改变。因此,您可能不在
START\u元素
,而很可能在
START\u文档
。请调用
.nextEvent()
而不是
.peek()
,这样应该可以使它正常工作

祝你好运, 马克斯

String getElementText()
Reads the content of a text-only element. 
Precondition: the current event is START_ELEMENT.
Postcondition: the current event is the corresponding END_ELEMENT.
while (reader.hasNext()) {
    XMLEvent event = reader.peek();
    if (event.isStartElement()) {
        StartElement start = event.asStartElement();
        if (ICON.equals(start.getName())) {
            System.out.println(reader.getElementText());
            break;
        }
    }
    reader.nextEvent();
}