【问题标题】:stop stax parser from executing停止执行 stax 解析器
【发布时间】:2017-01-07 21:43:02
【问题描述】:

我正在寻找一种在获得标签内容后停止解析器的方法。我怎样才能做到这一点?另外,我现在怎么知道我正在搜索的标签被点击了。

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;
  }
}

【问题讨论】:

    标签: java xml-parsing stax


    【解决方案1】:
    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
    

    【讨论】:

    • 我认为可能有来自 Stax 的 API 可以停止。 :)
    • 当您不再需要继续解析时,您只需关闭 XML 流或事件阅读器。
    猜你喜欢
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 2010-09-23
    • 2016-10-30
    • 2012-07-16
    • 1970-01-01
    相关资源
    最近更新 更多