代码之家  ›  专栏  ›  技术社区  ›  Nate

SAX过早结束解析?

  •  2
  • Nate  · 技术社区  · 17 年前

    javax.xml.parsers.SAXParser .

    问题是:我需要的信息接近XML文件的顶部,而我不需要 解析整个文档。-确定相关信息后,停止解析文件的“最佳”方法是什么?

    3 回复  |  直到 17 年前
        1
  •  2
  •   Sourabh    17 年前

    你可以使用StAX。它实际上随时停止解析过程而不引发任何异常。

    退房:

    http://www.xml.com/pub/a/2003/09/17/stax.html

    http://jcp.org/en/jsr/detail?id=173

        2
  •  2
  •   Brian Agnew    17 年前

    抛出异常是阻止它的唯一方法。看见 this IBM XML tip

    您可能应该实现自己的异常,以表示打算停止进一步处理。这样,您将能够区分有意停止处理和无意停止(当遇到一些意外情况等时)

        3
  •  1
  •   Community Mohan Dere    9 年前

    抛出异常似乎是解决此问题的最佳方法,正如 outlined by Tom :

    public class MySAXTerminatorException extends SAXException {
    ...
    }
    
    public void startElement (String namespaceUri, String localName,
                              String qualifiedName, Attributes attributes)
                            throws SAXException {
        if (someConditionOrOther) {
            throw new MySAXTerminatorException();
        }
        ...
    }
    
    推荐文章
    Praxder  ·  SAX XMLParser不工作
    14 年前