2017-01-07 14 views
0

タグコンテンツを取得したらパーサーを停止する方法を探しています。これどうやってするの?また、どのように私は今私は私のタグをヒットした知っている私は検索しています。staxパーサーの実行を停止する

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

答えて

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 
+0

私は停止するスタックスからAPIがあるかもしれ思いました。 :) –

+0

解析を続ける必要がなくなったら、XMLストリームまたはイベントリーダーを閉じるだけです。 –