我正在尝试使用sax解析器在xml中获取一些信息,

这里是 :

<IDENT>show</IDENT>
        <FORMAL_PARAM_LIST>
        FORMAL_PARAM_LIST
        </FORMAL_PARAM_LIST>
        <BLOCK_SCOPE>
        BLOCK_SCOPE
           <VAR_DECLARATION>
           VAR_DECLARATION
              <LOCAL_MODIFIER_LIST>
              LOCAL_MODIFIER_LIST
              </LOCAL_MODIFIER_LIST>
              <TYPE>
              TYPE
                 <QUALIFIED_TYPE_IDENT>
                 QUALIFIED_TYPE_IDENT
                    <IDENT>MenuUI</IDENT>
                 </QUALIFIED_TYPE_IDENT>
              </TYPE>
              <VAR_DECLARATOR_LIST>
              VAR_DECLARATOR_LIST
                 <VAR_DECLARATOR>
                 VAR_DECLARATOR
                    <IDENT>menu</IDENT>
                    <EXPR>
                    EXPR
                       <CLASS_CONSTRUCTOR_CALL>
                       STATIC_ARRAY_CREATOR
                          <QUALIFIED_TYPE_IDENT>
                          QUALIFIED_TYPE_IDENT
                             <IDENT>MenuUI</IDENT>
                          </QUALIFIED_TYPE_IDENT>
                          <ARGUMENT_LIST>
                          ARGUMENT_LIST
                          </ARGUMENT_LIST>
                       </CLASS_CONSTRUCTOR_CALL>
                    </EXPR>
                 </VAR_DECLARATOR>
              </VAR_DECLARATOR_LIST>
           </VAR_DECLARATION>
           <EXPR>
           EXPR
              <METHOD_CALL>
              METHOD_CALL
                 <DOT>.<IDENT>menu</IDENT><IDENT>showJASPform</IDENT></DOT>
                 <ARGUMENT_LIST>
                 ARGUMENT_LIST
                 </ARGUMENT_LIST>
              </METHOD_CALL>
           </EXPR>
        </BLOCK_SCOPE>


基本上,我想使用ident标签(),在xml中有4个ident,但是问题是我不想全部使用它们,我只想使用我已经尝试计算的第一个ident(显示标识符)它通过实现布尔值来标记我们在xml元素中的位置来实现,但是我感到困惑,如何才能在第一个ident处停止。

非常感谢您的关注

最佳答案

使用从org.xml.sax.helpers.DefaultHandler派生的类。在SAXException方法中找到所需的元素后,立即抛出startElement()。这将立即停止SAX解析器。

以下是提供的示例-Stop a SAX parser when you have enough data

10-07 19:05
查看更多