我正在寻找一种在获得标签内容后停止解析器的方法。我怎样才能做到这一点?另外我现在怎么知道我正在搜索的标签被点击了。
public class XmlParser {
public String getValue(final String xml, final String tag) throws XMLStreamException {
String tagContent = null;
final XMLInputFactory factory = XMLInputFactory.newInstance();
final XMLStreamReader reader = factory.createXMLStreamReader(new StringReader(xml));
while (reader.hasNext()) {
final int event = reader.next();
switch (event) {
case XMLStreamConstants.START_ELEMENT:
break;
case XMLStreamConstants.CHARACTERS:
tagContent = reader.getText().trim();
break;
case XMLStreamConstants.END_ELEMENT:
break;
}
}
return tagContent;
}
}
最佳答案
boolean finished = false;
while(!finished && reader.hasNext()) {
final int event = reader.next();
//set finished = true if you hit an event that means you want to stop parsing
}
//don't forget to close the reader and the I/O streams
关于java - 停止 stax 解析器执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41526898/